Соглашения о структурировании документов или DSC - это набор стандартов для PostScript , основанный на использовании комментариев , которые в первую очередь определяют способ структурирования файла PostScript и способ раскрытия этой структуры в машиночитаемом виде. Файл PostScript, соответствующий DSC, называется соответствующим документом .
Необходимость в соглашении о структурировании возникает, поскольку PostScript - это полный по Тьюрингу язык программирования. Таким образом, не существует гарантированного метода - за исключением фактической печати документа - для таких вещей, как определение длины данного документа или размера данной страницы, или того, как перейти к определенной странице. Добавление структуры с комментариями DSC, раскрывающими эту структуру, помогает предоставить способ, например, для интеллектуального диспетчера очереди печати, чтобы иметь возможность переупорядочивать страницы для печати, или для программы макета страницы, чтобы найти ограничивающую рамку файла PostScript. используется как графическое изображение. В совокупности любая такая программа, которая принимает файлы PostScript в качестве входных данных, называется диспетчером документов .
Чтобы файл печати PostScript можно было правильно преобразовать в PDF с помощью инструментов Adobe, он должен соответствовать основным стандартам DSC.
Некоторые комментарии DSC выполняют вторую функцию, определяя способ сообщить менеджеру документов о необходимости выполнения определенных действий, например о вставке шрифта или другого кода PostScript (вместе называемых ресурсами ) в файл. Комментарии DSC, которые выполняют эту вторую функцию, больше похожи на директивы предварительной обработки и не являются чисто комментариями. Документы, в которых используются такие комментарии DSC, требуют, чтобы работающий менеджер документов работал должным образом; отправить их напрямую на принтер не получится.
DSC - это основа для инкапсулированного PostScript ; Файлы EPS являются соответствующими документами с дополнительными ограничениями.
Набор комментариев DSC можно расширить с помощью механизма, называемого Open Structuring Conventions, который вместе со спецификацией EPS составляет основу ранних версий формата файлов Adobe Illustrator Artwork .
Краткий обзор DSC
Основная предпосылка DSC - разделение пролога (статических определений) и сценария ( кода, который влияет на печатный вывод для конкретного задания), а также запрет на использование определенных операторов PostScript, которые считаются неприемлемыми для описаний страниц . Это обеспечивает базовый уровень предсказуемости кода PostScript, тем самым формируя основу управляемости документа.
Необязательный дополнительный уровень управляемости документа обеспечивается разделением сценария на раздел настройки документа , ноль или более функционально независимых страниц и дополнительный трейлер (код очистки). («Нулевые страницы» в DSC обычно означает «одна страница без использования оператора PostScript showpage».) Функциональная независимость между страницами плюс запрет на использование большего количества операторов PostScript в разделе страниц формируют основу для независимости страниц , которая позволяет переупорядочивать страницы и получать к ним независимый и случайный доступ.
Эта навязанная структура затем отображается путем разделения файла PostScript с комментариями DSC , которые обычно начинаются с двух знаков процента, за которыми следует ключевое слово. За некоторыми ключевыми словами необходимо поставить двоеточие, необязательный пробел и затем ряд аргументов .
Наконец, документ помечается как соответствующий, начиная с комментария, начинающегося с «%! PS-Adobe-», за которым следует номер версии DSC.
Разделы повторно используемого кода PostScript можно разделить на модули в наборы процедур (наборы процедур, соответствующие библиотекам функций на других языках программирования), чтобы упростить создание кода PostScript. Наборы параметров и другие ресурсы PostScript (например, шрифты) могут быть опущены из самого файла PostScript, и на них можно ссылаться извне с помощью комментария DSC, подобного директиве; однако такие внешние ссылки могут работать только с менеджером документов, который понимает такие комментарии DSC.
Версия DSC 3.0 была выпущена 25 сентября 1992 года. В спецификации говорится: «Несмотря на то, что комментарии DSC представляют собой уровень коммуникации за пределами языка PostScript и не влияют на конечный результат, их использование считается хорошим стилем программирования на языке PostScript. " Таким образом, большинство программ, создающих PostScript, выводят DSC-совместимые комментарии вместе с кодом, хотя некоторые такие программы фактически не создают соответствующие документы.
Пример
Документ, соответствующий DSC (этот документ, созданный dvips ), может начинаться:
%! PS-Adobe-2.0 %% Создатель: dvips (k) 5.95a Copyright 2005 Radical Eye Software %% Заголовок: texput.dvi %% Страниц: 1 %% PageOrder: Ascend %% BoundingBox: 0 0 612 792 %% DocumentPaperSizes: Letter %% EndComments
что имеет следующее значение:
- отмечает документ как соответствующий версии 2.0 DSC
- идентифицирует программу, создающую PostScript, как dvips 5.95a
- определяет заголовок документа
- сообщает диспетчеру документов, что документ состоит из одной страницы
- сообщает диспетчеру документов, что страницы независимы (т. е. не имеют особого порядка) и появляются в документе в порядке возрастания; в этом примере, поскольку документ состоит только из одной страницы, эта информация обычно не имеет отношения к делу, но потребуется, если диспетчер документов должен вставить дополнительные страницы.
- сообщает менеджеру документов координаты, измеренные в пунктах PostScript , ограничивающей рамки для всех страниц вместе; 0 0 612 792 - это координаты страницы формата Letter.
- сообщает менеджеру документов, какие форматы бумаги используются во всем документе; в этом примере используется только один размер, а именно размер US Letter.
- отмечает конец пролога