Открыть сервис

Язык описания страниц

Язык описания страниц — это формальный язык программирования или разметки, предназначенный для описания внешнего вида, структуры и содержимого печатных или электронных страниц. В отличие от языков общего назначения, языки описания страниц ориентированы на точное позиционирование текста, графики и других элементов на листе или экране, обеспечивая их воспроизведение в заданном формате. Ключевая особенность — независимость от конкретного устройства вывода: один и тот же файл может быть корректно отображён на разных принтерах, плоттерах или мониторах.

История

Предпосылки появления

До появления языков описания страниц вывод на печать требовал написания низкоуровневых драйверов для каждого типа принтера. Каждое устройство имело собственный набор команд, что усложняло разработку программного обеспечения и обмен документами. В 1970-х годах возникла потребность в универсальном способе описания страниц, который бы абстрагировал программиста от аппаратных особенностей.

Появление PostScript

Первым широко распространённым языком описания страниц стал PostScript, разработанный компанией Adobe Systems в 1982 году. PostScript был основан на языке программирования Forth и позволял описывать как текст, так и векторную графику с помощью математических кривых. В 1985 году компания Apple выпустила лазерный принтер LaserWriter, поддерживающий PostScript, что стало революцией в настольной издательской системе. PostScript быстро стал стандартом в полиграфии и издательском деле.

Развитие и стандартизация

В 1990-х годах Adobe разработала облегчённую версию PostScript — Portable Document Format (PDF), который стал более компактным и удобным для обмена документами. PDF также использует язык описания страниц, но в бинарном формате. Параллельно развивались конкурирующие языки, такие как PCL (Printer Command Language) от Hewlett-Packard, ориентированный на струйные и лазерные принтеры, и XPS (XML Paper Specification) от Microsoft, основанный на XML.

Классификация

Языки описания страниц можно разделить на несколько категорий по принципу работы и области применения:

По типу описания

  • Векторные языки — описывают страницу как набор геометрических примитивов (линий, кривых, многоугольников). Примеры: PostScript, PDF, SVG (Scalable Vector Graphics).
  • Растровые языки — описывают страницу как массив пикселей. Примеры: PCL (в некоторых режимах), TIFF (как формат вывода).
  • Гибридные языки — сочетают векторное и растровое описание. Пример: PDF, который может содержать как векторные объекты, так и встроенные растровые изображения.

По способу интерпретации

  • Интерпретируемые языки — команды выполняются последовательно интерпретатором (например, PostScript).
  • Компилируемые языки — описание преобразуется в машинный код перед выводом (например, PCL в некоторых реализациях).

По области применения

  • Печатные языки — предназначены для вывода на принтеры и плоттеры (PostScript, PCL, XPS).
  • Электронные языки — для отображения на экранах (HTML, CSS, SVG).
  • Универсальные языки — для печати и электронного распространения (PDF).

Устройство и принципы работы

Основные компоненты

Язык описания страниц обычно включает:

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

Процесс обработки

  1. Создание описания — программа-источник (текстовый редактор, графический редактор, САПР) генерирует файл на языке описания страниц.
  2. Интерпретациядрайвер принтера или RIP (Raster Image Processor) преобразует команды языка в растровое изображение, соответствующее разрешению устройства.
  3. Вывод — растровое изображение передаётся на принтер или монитор.

Примеры команд

На языке PostScript команда для рисования линии может выглядеть так: `` newpath 100 200 moveto 300 400 lineto stroke `` Это означает: начать новый путь, переместить перо в точку (100, 200), провести линию в точку (300, 400), нарисовать линию.

Основные языки описания страниц

PostScript

  • Разработчик: Adobe Systems (1982).
  • Особенности: Полноценный язык программирования с переменными, циклами, процедурами. Поддерживает векторную графику, шрифты Type 1 и TrueType. Используется в профессиональной полиграфии.
  • Недостатки: Высокая сложность, большой размер файлов, медленная обработка на старых устройствах.

PDF (Portable Document Format)

  • Разработчик: Adobe Systems (1993).
  • Особенности: Основан на PostScript, но использует бинарный формат и сжатие. Поддерживает интерактивные элементы (гиперссылки, формы, закладки). Является открытым стандартом ISO 32000.
  • Применение: Электронный документооборот, печать, архивирование. Широко используется в России для государственных и коммерческих документов.

PCL (Printer Command Language)

  • Разработчик: Hewlett-Packard (1980-е).
  • Особенности: Компактный, быстрый, ориентирован на струйные и лазерные принтеры. Версии PCL 5 и PCL 6 поддерживают векторную графику и растровые изображения.
  • Применение: Офисная печать, бюджетные принтеры.

XPS (XML Paper Specification)

  • Разработчик: Microsoft (2006).
  • Особенности: Основан на XML, ZIP-архив с файлами описания. Поддерживает цветовые профили ICC, прозрачность, градиенты.
  • Применение: Windows-экосистема, но не получил широкого распространения.

SVG (Scalable Vector Graphics)

  • Разработчик: W3C (2001).
  • Особенности: Язык разметки на основе XML для двумерной векторной графики. Поддерживается всеми современными браузерами.
  • Применение: Веб-дизайн, мобильные приложения, интерактивная графика.

Применение

Полиграфия и издательское дело

Языки описания страниц являются основой цифровой печати. Файлы PostScript и PDF используются для вывода на офсетные и цифровые печатные машины, а также для создания макетов книг, журналов, рекламной продукции. В России стандартом для типографий является PDF/X, подмножество PDF, обеспечивающее цветовую точность.

Офисная печать

PCL и PostScript (в драйверах) применяются в офисных принтерах. PCL обеспечивает быструю печать текстовых документов, а PostScript — более качественную печать графики.

Электронный документооборот

PDF является де-факто стандартом для обмена документами. В России он используется в системах электронного документооборота (например, «Диадок», «СБИС»), а также для сдачи отчётности в налоговые органы (ФНС).

Веб-дизайн и графика

SVG используется для создания иконок, логотипов, карт, анимаций. Поддерживается всеми современными браузерами, включая Яндекс.Браузер и Google Chrome.

Интересные факты

  • Язык PostScript был назван в честь «постскриптума» (приписки к письму), так как первоначально использовался для добавления графических примечаний к текстовым документам.
  • Первый лазерный принтер с поддержкой PostScript — Apple LaserWriter — стоил около 7000 долларов США в 1985 году.
  • PDF-файлы могут содержать встроенные шрифты, что гарантирует корректное отображение на любом устройстве, даже если шрифт не установлен.
  • В России существует ГОСТ Р ИСО 32000-1-2015, который регламентирует использование PDF как формата для долговременного архивного хранения документов.

Критика

Основные недостатки языков описания страниц:

  • Сложность — PostScript требует глубоких знаний для разработки, что ограничивает его применение.
  • Размер файлов — неоптимизированные файлы PostScript могут быть очень большими.
  • Зависимость от интерпретатора — разные реализации могут по-разному обрабатывать одни и те же команды, что приводит к несоответствиям при выводе.
  • Закрытость — некоторые языки (например, PCL) являются проприетарными, что затрудняет их поддержку сторонними разработчиками.

Источники

  • Adobe Systems. «PostScript Language Reference Manual». 3rd edition. Addison-Wesley, 1999.
  • ISO 32000-1:2008. «Document management — Portable document format — Part 1: PDF 1.7».
  • Hewlett-Packard. «PCL 5 Printer Language Technical Reference Manual». 1994.
  • W3C. «Scalable Vector Graphics (SVG) 1.1 Specification». 2001.
  • ГОСТ Р ИСО 32000-1-2015. «Система стандартов по информации, библиотечному и издательскому делу. Формат переносимых документов. Часть 1. PDF 1.7».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →