Пакетный экспорт текстового поля в Indesign

Мне нужно отправить из InDesign 50 версий одного и того же объявления, все одинаково в каждом из этих 50 объявлений, за исключением одного маленького ключа внизу в текстовом поле, которое меняется для каждого экземпляра.

Обновите этот текст

Есть ли способ экспортировать один экземпляр из InDesign 50 раз, но использовать CSV или что-то подобное для определения чисел?

Ответы (2)

Трудно объяснить подробно, так как это будет настройка вашего документа, но вам нужно изучить «Объединение данных», которое представляет собой функцию, которая позволяет вам иметь основной документ с переменными текстовыми полями, взятыми из CSV.

К вашему сведению: https://helpx.adobe.com/indesign/using/data-merge.html

Я бы также предпочел слияние данных;)

Вы можете добиться этого с помощью сценариев. Просто добавьте свое дополнение к основному развороту и создайте из него 50 страниц. Тогда взгляните на этот пример, который я написал, и измените его в соответствии с вашими потребностями. Вам нужно добавить нужные вам строки, а также изменить координаты текстового поля.

Я написал некоторые пояснения в коде.

/* global app */

var doc = app.activeDocument; // get the current doc
// these variables are the bounding box coordinates of your text box
// x1,y1 the upper left
// x2,y2 the lower right
var x1 = 10;
var y1 = 10;
var x2 = 100;
var y2 = 50;

// now loop all pages
// this assumes your doc is set up and
// on each page there is the add where
// you want to add the alternating box
//
// you could have an array with that much entries like you
// have pages in your document like this
//
// var mycontents = ['String page 1', 'String page 2', 'and so on …'];
//
for(var i = 0; i < doc.pages.length; i++) {

  var page = doc.pages[i]; // get the current page

  // and add a text box to it
  // the box has geometric bounds and some  content in in object
  //
  // {}<-- This is an object
  //
  // if you had that array you could exchange the `contents:` value for
  // the contents array like this
  // contents: mycontents[i]

  page.textFrames.add({
    geometricBounds: [y1, x1, y2, x2],
    contents: 'This is where your content belongs'
  });
}