Data Merge в inDesign

Как и любой представитель человечества, я стараюсь как можно меньше выполнять механической работы и как можно больше думать головой. В моём случае под механической работой подразумевается верстка каталогов, визиток, буклетов, сертификатов и прочей шаблонной полиграфии. Обычно вышеперечисленные форматы имеют готовый дизайн, и нужно просто изменить текст/картинки. В inDesign есть для этого замечательная функция, Data Merge. Освоим её, выполнив упражнения по вёрстке большого количества простеньких визиток.


Общий процесс:

1. Создаете источник базы в экселе или другом редакторе.
2. Сохраняете в Юникоде *.txt, вариант с tab-delimited.
3. В Индизайне создаете универсальный макет.
4. Загружаете текстовой файл с данными через Select Data Source. Настраиваете красивости.
5. Экспортируете в pdf из меню Data Merge. Получаете многостраничный PDF.

Создадим простой шаблон визитки в InDesign с тремя текстовыми фреймами и одним фреймом для картинки: имя, должность, телефон, для картинки рисуем пустой блок с помощью инструмента «Rectangle Frame Tool».


Далее уходим в Excel, и создаём очень простенькую таблицу с данными. Пока что сами, в дальнейшем это за вас должен будет делать либо клиент, либо это будет экспорт из базы данных. Обратите внимание: нельзя использовать символ «запятая (,)». Для InDesign это будет означать разделитель, это можно поменять в настройках ОС, но изменения затронут всю систему. Замените запятую на любой другой символ (например, смайлик ☺), и после сборки файла произвести автозамену символа. Поэтому в данном примере я использую самый простой и надежный способ, экспортирую файл с табуляцией в качестве разделителя (.txt) в UTF-8.

Для изображений необходимо указать полный путь до картинки, вида C:\Job\15\InDesign\Links\realFoot.jpg, и имя заголовка столбца для изображений должно начинаться с символа @. Excel может ругаться сообщением «неверная функция», нужно переустановить тип ячейки в текстовой тип. Напишите символ  ‘ перед @, его не должно быть видно после окончания редактирования заголовка. Не должно быть пустых строк и столбцов.

Если у вас проблемы с правильным путем до картинки, до убедитесь, что путь соответствует вашей операционной системе. Если изображения хранятся на сервере и получить правильный путь проблематично, есть простой способ скопировать правильный путь: закидываете в inDesign одну картинку из папки, в которой хранятся нужные изображения. Открываете панель Link , выбираете картинку, выполняете команду Copy Info -> Copy Platform Style Path. Теперь правильный путь с учетом платформы у вас в буфере обмена.

Внеся данные, сохраняем документ в формат «CSV (разделители—запятые)», закрываем эксель, открываем вновь созданный файл Блокнотом, т.к. дальнейшая работа ведется с .txt, у которого разделители—табуляция. На данном этапе уже можно заменить ваши символы, которые вы использовали вместо запятых, на полноценные запятые. Символ двоеточия (;) так же необходимо заменить на запятые.

Сохраняем файл как обычный текстовой документ, кодировка файла unicode. Это стандарт, который содержит информацию о том, в каком месте таблицы символов расположен определенный символ. Иногда вам будут лгать, что кодировка должна быть ANSI, не слушайте. Вас пытаются ввести в заблуждение, InDesign не распознаёт русские символы в ANSI. Получиться должно как на картинке:

 

Далее переходим в InDesign: Windows -> Automation/utilities -> DataMerge.

При первой попытке работы с Data Merge нужно посмотреть настройки импорта. Есть специальная галочка для этого. Это необходимо для того, чтобы inDesign запомнил, что было импортировано и с какими настройками. Если вы решите использовать другие разделители или кодировки, эту галочку нужно поставить повторно и все перенастроить.
Настройки

Delimiter отвечает за разделитель. Если вы собираетесь импортировать .CSV, то выберите «Comma». В нашем случае выбран «Tab», т.к. испортируем .txt. Encoding это кодировка, выбор стоит между «ASCII» или «Unicode». При путанице файл все равно будет импортирован, но часть символов будет распознана неправильно. Platform достаточно очевиден, «PC» или «Mac», в зависимости от системы, на которой вы работаете. Дополнительно есть возможность сохранить все пробелы, Preserve Spaces in Data Source, выберите, если вам это нужно.

В появившемся окне выбираем пункт «Select Data Source…», и выбираем наш txt файл. На данный момент файл с данными не должен быть открыт ни в каком другом софте. В окне DataMerge появятся заголовки, которые можно простым drag&drop перетащить на наши заранее созданные поля в визитке. Если всё пройдёт успешно, то заголовок поля на нашей визитке встанет в двойные угловые скобки. Что бы убедиться в кощерности подхода, нажмите в окне DataMegre кнопку preview, у вас должны появиться данные из таблицы на визитке. Успешно подставленные данные отображаются между символами <<>> (если эти символы есть в шрифте).

 

Следующим шагом будет пункт Create Merged Document…». Откроется окно, в котором нужно поставить напротив пункта Records per Document Page значение «Multiple Record»,  это позволит сделать сразу несколько визиток на одной странице.

На второй вкладке расставляем отступы. Есть текст больше, чем заготовленное текстовое поле, то Data Megre вставит текст на следующую страницу по последовтаельности, выбранной нами. Есть возможность создать отчет об недостающих изображениях и указать правила позиционирования. Всего 5 вариантов размещения изображений:

  • Fit Images Proportionally – уместить изображение внутри Rectangle Frame с сохранением пропорций.
  • Fit Images to Frames – пропорции не сохраняются, изображение вставляется в ширину и высоту Rectangle Frame.
  • Fit Frames to Images – сохранение оригинального размера изображения с соответствующим подгоном размера фрейма.
  • Preserve Frame and Image Sizes – сохранение оригинального размера изображения, но не меняет размер фрейма.
  • Fill Frame Proportionally – пропорционально масштабирует изображение, пока не будет заполнен фрейм.

Я в большинстве случаев выбираю Fill Frame Proportionally, и не забываем отметить чекбокс Link images.

И, в общем то, всё, осталось нажать кнопку ОК и экспортировать результат в нужный формат. Для конференций часто требуется экспорт документов в раздельные файлы, с указанием имени файла, для этого отлично подходит скрипт Data Merge to unique names. Как вы понимаете, данный подход поможет вам сверстать не только визитки, но и любую другую полиграфическую продукцию. Ваш исходник не одноразовый, вы можете вносить изменения в файл данных Excel и обновлять их inDesign. Удачи!

6 комментариев

  1. Marker

    Вы меня cпасли) Хоть один человек написал про разделители-запятые… а то ни на форумах, ни в студии никто не мог мне подсказать, как запятые верно проставить.

  2. avariself

    Три года работала, не зная, что таким способом можно и картинки вставлять)))

  3. ausweis_on_the_sky

    мне нужно сделать нумерацию страниц только на одной половине страниц, как это сделать

    • your-scorpion (Author)

      1. В экселе сделайте нумерацию от 1 до 100.
      2. В inDesign, в мастере создаем пустой фрейм, переходим в keep options, выставляем in next frame. Сохраняем как номер и применяем к пустому фрейму.
      3. Заходим на первую страницу, которая должна нумероваться, ctrl+shift+click и вставляем нумерацию из экселя. Далее на вторую страницу идем и повторяем действие с shift, все произойдет автоматически.

  4. Yaroslav

    Спасибо за полезную инструкцию. А можно как то в иллюстраторе вставлять переменные данные из внешнего источника? При отправке макетов заказчику часто требуется заполнять сопроводительную таблицу. Было бы удобно автоматически вставлять туда данные к примеру из экселя.

    • your-scorpion (Author)

      Возможно, вам подойдет Variable в Illustator. Оно позволяет настраивать переменные данные для текста, изображений, диаграмм и параметров видимости. Я с помощью этой штуки готовил сотни баннеров буквально за 10 минут. Основной принцип работы в сохранении XMLки с переменными, заполнении XMLки и обратной загрузке готовых DataSet’ов. У меня есть мини-урок с описанием процесса работы.
      Создание переменных данных в Illustator

      Общий процесс такой: вы создаете один экземпляр макета, выделяете объект, который необходимо динамически изменять (!динамические изображения это картинки, которые вы поместили в документ через File=>Place (Файл=>Поместить) с включенным флажком Link (Связь), внедренные картинки не работают), и кликаете по кнопке Make Object Dynamic. Тем самым вы создаете cвязанную файловую переменную (Linked File variable), текстовую строковую переменную (Text String variable), или переменную графических данных (Graph Data variable), в зависимости от типа выбранного объекта.

      Далее нажмите на кнопку Capture data set в палитре Variables, чтобы зафиксировать данные переменных. Выбираете Save Variable Library из меню палитры Variables, и сохраняете XMLник, в который можно забить нужные данные и подгрузить обратно в illustrator. Экспортирование множества макетов с динамическими данными происходит с помощью пункта меню Batch панели Action.

      Еще можете посмотреть в сторону Adobe Scene7. Сам не пользовался, но наслышан). Либо PrintShop Mail.

«Взаимодействуя с данным сайтом, вы, как пользователь, автоматически даете согласие согласие на обработку персональных данных» Согласие

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.