Формат JDF. Автоматизация процессов в полиграфическом производстве

от автора

Предыстория

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

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

И тут появляется .jdf и CIP4

И вот в 1999 на помощь печатной индустрии пришёл консорциум CIP4, чьё название расшифровывается как “Cooperation for the Integration of PrePress, Press, PostPress and Process”.

Это сообщество разработало новый формат передачи данных о заказе, основываясь на уже существовавшем тогда формате CIP3 (cip3 — файлы настроек офсетной печатной машины).
Разработанный ими формат JDF представляет собой xml структуру, содержащую внутри себя специализированные теги, содержание и атрибуты которых, описывает все (ну или по крайней мере большинство) данных о заказе. Начиная от внутреннего идентификатора (id заказа) до того, какой толщины запечатываемый материал и сколько скрепок какой модификации должно быть на изделии.

Вырезка из .jdf файла

<?xml version="1.0" encoding="utf-8"?> <JDF xmlns="http://www.CIP4.org/JDFSchema_1_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="TI_099fa" JobPartID="MISPRE_040051_PlateMaking" Type="Product" xsi:type="Product" Status="Ready" JobID="106061_1_1" Version="1.2" MaxVersion="1.2" ICSVersions="Base_L1-1.0 MIS_L1-1.0 MISPRE_L1-1.0" DescriptiveName="MISPRE PlateMaking v13" Template="false"> … </JDF> </xml>

Важно для понимания то, что jdf файл несёт в себе информацию о заказе не только для пользователей, но и передаёт настройки непосредственно типографским программным комплексам и производственному оборудованию.

Что стало возможным с внедрением jdf

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

PrePress. Допечатная подготовка

После того как заказ и его jdf файл создан, он передаётся в отдел допечатной подготовки типографии, где программы спуска полос (раскладывания страниц изделия на печатный лист) предлагают возможность импортировать jdf, взяв все необходимые для себя данные и в 2 клика отправить его на следующий этап.

После отдела допечатной подготовки файл, содержащий ссылки на pdf макеты спусков, готовых к печати попадает на RIP (растровый процессор), который в свою очередь берёт из файла настройки растрирования, заданные при создании jdf и создает растрированные и сепарированные файлы tiff-b, содержание которых проявляется на печатных пластинах на участке CtP (системы Computer to Plate)

Press. Печать

Когда выведенные пластины доставляют на печатную машину, в управляющей ей компьютер уже загружен jdf, который выставляет настройки печати в зависимости от макета.

PostPress. Послепечатная обработка

Тираж отпечатан форматами печатной машины. После просушки листов наступает время резки на готовые форматы и других отделочных операций. Часть оборудования послепечатной обработки (например гильотинные резательные машины) так же умеют воспринимать параметры заказа и настраивать свои параметры под заложенные в заказе значения.

Process

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

Немного о создании jdf файлов

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

Также есть замечательный человек Tom Cabanski и его старинный блог. Информации там немного и часть ссылок уже не рабочие, но есть возможность скачать его библиотеку Fluen JDF и упростить с её помощью создание и редактирование jdf файлов многократно.

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

Пример кода на C#

public static Ticket JDFGenerate(ProductPart task)         {             InitializeFluentJdf();             Infrastructure.Core.Configuration.Settings.UseCastleWindsor().LogWithNLog().Configure();             FluentJdfLibrary.Settings.ResetToDefaults();             string finishFormat = task.Format.Replace("*", " ");           …….           /*Заказчик*/             ticket.SelectJDFDescendant(Element.CustomerInfo)             .SetAttributeValue("CustomerName", task.CustomerName);             ticket.SelectJDFDescendant(Element.CustomerInfo)                  .AddInput(Element.Contact);             ticket.SelectJDFDescendant(Element.Contact)                 .AddInput(Element.Company);             ticket.SelectJDFDescendant(Element.Contact)                 .SetAttributeValue("OrganizationName", task.CustomerName);             /*Формат изделия*/             string dimentionsStrip = task.Format.Replace("*", " ");             string finalFormat = ConvertDimentions(dimentionsStrip);             ticket.SelectJDFDescendant(Element.StripCellParams)                 .SetAttributeValue("TrimSize", finalFormat); …..                 ticket.SelectJDFDescendant(Element.Device)                 .SetAttributeValue("DeviceID", jdfMachine);             /*Бумага*/             ticket.SelectJDFDescendant(Element.Media)                 .SetAttributeValue("Brand", task.Material.MaterialName);             ticket.SelectJDFDescendant(Element.Media)                 .SetAttributeValue("Weight", task.Material.MaterialWeight);             ticket.SelectJDFDescendant(Element.Media)                 .SetAttributeValue("Thickness", task.Material.MaterialThickness);

Но увы

Этот формат, который вывел автоматизацию в полиграфическом производстве на новый уровень, на территории РФ используется очень эпизодично. Даже если типография внедряет jdf в свой рабочий процесс, то, скорее всего, делает это только на одном из всех этапов (как правило, это передача настроек печати из отдела допечатной подготовки на печатную машину).

Связано это, вероятно, с необходимостью больших инвестиций в оборудование и ПО и практически полным отсутствием отечественных разработок в этом направлении. Но всё же хочется верить, что у jdf есть будущее в нашей стране.
ссылка на оригинал статьи https://habrahabr.ru/post/316246/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *