Уникальный серийный номер на странице каждый раз, когда распечатывается документ в формате pdf или indesign.

Мне нужно разработать документ для внутреннего использования, для которого требуется уникальный серийный номер на копии листа подписи.

Я знаю, что в InDesign есть функция нумерации (для нумерации страниц книги/журнала), но я ищу что-то более умное, чем 1,2,3,4... номер, состоящий из букв и цифр, предпочтительно придерживающийся установленного шаблона.

Есть ли способ вставить переменную в документ PDF или InDesign, чтобы каждый раз при печати на этой странице печатался уникальный серийный номер?

Единственный другой способ, который я мог придумать, - это создать веб-страницу html/php и сделать серийный номер на сервере, а страница печати оформлена с помощью таблицы стилей печати. Но это похоже на довольно долгий путь решения проблемы.

Возможно, вы могли бы сгенерировать серийные номера в текстовый файл, где каждый серийный номер находится в отдельной строке (с помощью инструмента по вашему выбору). Затем вы можете перенести это в дизайн с помощью слияния данных.. ( Window > Automation > Data marge).
Это что-то, что представляется в виде печатной копии или только в электронном виде? Если в электронном виде, через «веб-сайт» (например, POST на сервер) или по электронной почте? Какой-то сервер компании всегда включен и доступен?
они предназначены для подписных листов в печатном виде, у них будут поля, которые нужно заполнить вручную, а затем отправить по почте с сохранением отсканированной копии. В идеале мне бы хотелось, чтобы это был одностраничный PDF-файл с своего рода переменной инициализации, которая каждый раз при печати меняется на новый уникальный номер.

Ответы (2)

Я разделил свои ответы, потому что это очень разные подходы.

Создайте сценарий , который вы можете запустить перед печатью. То, как он структурирован, будет зависеть от того, как вы хотите его использовать. Но если это лист подписи, я буду исходить из предположения, что это одна страница, на которой у вас есть один текстовый фрейм, который вы можете обновить с помощью уникального идентификатора.

Создайте текстовый фрейм и назовите его, зайдя в палитру «Слои» и медленно дважды щелкнув имя текстового фрейма, указанное там. Затем найдите место для хранения некоторых данных. Это может быть достигнуто с помощью внешнего открытого текста или XML-файла, или вы можете сохранить его в документе , если используете только один документ. Но если вы хотите иметь формат signoff-1, signoff-2, signoff-3, то для начала поставьте 1 в этой метке. Попросите скрипт извлечь значение и вставить его в текстовый фрейм, добавить единицу к значению, а затем сохранить новое значение. Запустите скрипт перед печатью.

Вы также можете сгенерировать и разместить текстовый фрейм с помощью скрипта. Вы также можете хранить несколько значений, чтобы сделать соглашение более сложным. Итак, если у вас есть ssanders, djenkins и dgreen, вы можете присвоить каждому значение 1, а затем иметь скрипт, который помещает имена пользователей в раскрывающийся список. Вы выбираете пользователя, а затем получаете его значение, так что вы получите signoff-djenkins-13.

Когда вы начинаете писать сценарии для InDesign, открывается целый мир возможностей!

Когда мне нужен короткий серийный номер, который может вместить много вывода (например, большие числовые значения), я использую javascript для увеличения числа с основанием 36. Всего две цифры b-36 ( zz) эквивалентны десятичному числу 1295. Вы можете сойти с ума и использовать три: zzz= 46655 ;) Вы можете увидеть это в действии на unitconversion.org , если я не понимаю.
Очень круто! Я хочу узнать больше об этом. Легко ли работать с разными базами в JavaScript? Вы настраиваете его, а затем сохраняете i++там свои базовые знания? Что-то с toString()?
Вы подключаетесь к математическим функциям. Я думаю, что все современные версии js имеют то, что вам нужно. Можно использовать i++, в зависимости от настройки. К сожалению, я не смог уточнить для вас детали. У меня есть отличный разработчик js, который обычно делает за меня всю магию: его код примерно на 10% длиннее моего и делает больше ;) Покопайтесь в документации js по переключению оснований в математике, и вы найдете то, что вам нужно.

Возможно, вы сможете заставить что-то работать с текстовыми переменными .

Перейдите к Type> Text Variables> Define...и нажмите New.... Назовите его, выберите «Дата вывода», а затем сделайте что-то вроде этого:

Диалоговое окно «Редактировать текстовую переменную»

Затем создайте текстовый фрейм и нажмите Type> Text Variables> Insert Variableдля вставки.

Идея использования даты и времени заключается в том, что они всегда будут разными. Если цель состоит в том, чтобы иметь разные значения каждый раз, когда вы печатаете, это будет здорово, потому что оно обновляется автоматически. Если вы хотите назвать что-то уникальным, а затем оставить его статичным (например, иметь счет-фактуру 001, затем счет-фактуру 002), то это будет плохим решением, потому что эта дата всегда будет обновляться, пока вы не выберете ее и не выполните Type> Text Variables> Convert Variable to Text.

Так что вы можете поэкспериментировать с некоторыми вариантами. Вы можете найти что-то, что работает для вас!