Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Т5_Цифровое представление текстовой информации...doc
Скачиваний:
11
Добавлен:
17.08.2019
Размер:
256.51 Кб
Скачать

2 Формат pdf

Формат PDF (Portable Document Format) - переносимый формат документов, разработанный компанией Adobe Systems, используется как основа для создания электронных изданий в среде программного пакета Adobe Acrobat. Формат PDF - это файловый текстовой формат, предназначенный для представления публикаций или других документов на любой аппаратной платформе и в любой операционной среде. PDF-файл содержит PDF-публикацию и специальные данные.

PDF-публикация (документ) содержит одну или более страниц. Каждая страница может включать любые компоненты электронного издания: текст, графику и иллюстрации, анимацию, видео- и аудиоинформацию в аппаратно-независимом формате, в виде так называемого страничного описания (page description). PDF-публикация может также содержать информацию, обеспечивающую навигацию в гипертекстовой электронной публикации.

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

Формат PDF представляет текст и графику, используя модель формирования изображений языка программирования полос PostScript. Графическими объектами могут быть тексты и формы публикаций, векторные и растровые изображения и т.д. Графические объекты могут быть любого цвета.

Операторы создания страниц PDF подобны операторам языка PostScript. Главное отличие состоит в том, что PDF не программный язык, он не содержит процедур, переменных и т.п.

Характерными особенностями PDF-файла являются:

  • PDF-файл может содержать объекты, подобные гипертекстовым ссылкам, доступные только при интерактивном просмотре;

  • для упрощения процесса описания страниц PDF не использует конструкции программных языков;

  • PDF создает определенную структуру файла, которая позволяет программным приложениям иметь доступ к любой части документа;

  • PDF-файл содержит информацию о размерах шрифта и т.п.;

  • PDF-файл не может быть прямо преобразован в PostScript-публикацию для печати;

  • PDF-файл строится на основе либо 7-битового ASCII-файла, либо на базе бинарного файла. Если это ASCII-файл, в нем используются только печатные символы 7-битового ASCII-кода, пробел, табуляция, возврат каретки и перевод строки. В случае бинарного файла могут быть использованы все символы 8-битового кода. Считается, что ASCII-код - наиболее удобный для переноса вид кодировки.

Для уменьшения размера файла PDF использует различные методы сжатия изображений:

  • JPEG - для полноцветных иллюстраций и изображений в градациях серой шкалы;

  • CCITT - для черно-белых изображений;

  • LZW - для компрессии и декомпрессии текстового материала.

Все эти методы оперируют с двоичными данными, которые затем могут быть закодированы в коде ASCII. Для обеспечения независимости от шрифтов PDF-файл содержит описание для каждого шрифта, использованного в публикации. Описание включает название, кегль (размер) и стиль шрифта. В режиме просмотра публикации, если шрифт, использованный в документе, доступен, то он используется. Если недоступен, то заменяется на подобный с тем же кеглем и другими характеристиками. Некоторые шрифты могут встраиваться в PDF-публикацию.

Для прямого поиска любой страницы файла PDF-файл содержит специальную таблицу ссылок. Таблица размещается в конце файла и способствует уменьшению времени поиска и вывода страницы в PDF-публикации, так как обеспечивает независимость времени поиска от общего количества страниц в документе.

Структура PDF-формата представлена в виде схемы на рис. 3.4.

Объекты. Формат PDF поддерживает несколько основных типов объектов, например:

  • bollean - логические (true, false);

  • number - числовые (integer, real);

  • string - последовательность символов в круглых скобках;

  • array - последовательность PDF-объектов различных типов;

  • dictionary - таблицы, состоящие из двух элементов: ключа и значения (используются для соединения атрибутов сложных объектов, например, в PDF-публикациях с помощью этих объектов представляются страницы и шрифты);

  • stream - в виде объекта типа stream представлены большие объемы данных, такие, как изображения и описания страниц.

Кроме того, существует «нулевой» объект (ключевое слово - null).

Косвенные объекты могут быть помечены так, чтобы на них ссылались другие объекты. Это используется, например, для создания объекта, значение которого изначально не известно. Любой тип объекта может быть помечен как косвенный. Такой объект содержит идентификатор объекта, который сохраняется даже при изменении самого объекта.

Любой объект, использующийся как элемент массива или значение dictionary, может быть определен либо как обычный объект, либо как косвенная ссылка. Косвенная ссылка - это ссылка на косвенный объект, содержащая номер косвенного объекта (идентификатор) и ключевое слово R.

Структура файла. Структуру файла формата PDF можно представить в виде схемы, приведенной на рис. 3.5. Эта структура обеспечивает быстрый доступ к любой части файла и содержит механизм для его изменения.

Обычный PDF-файл содержит четыре раздела:

  • заголовок (header);

  • «тело файла» (body);

  • таблицу перекрестных ссылок (cross-reference table);

  • trailer.

Заголовок. Первая строка PDF-файла определяет номер спецификации PDF, которой придерживается данный файл (текущая - 1.2% PDF-1.2).

<header> ::= <PDF version>

Тело файла. Содержит последовательность косвенных объектов, входящих в состав публикации. Объекты - это компоненты публикации: страницы, изображения, шрифты. Комментарии могут быть во всем PDF-файле. Их синтаксис совпадает с синтаксисом комментариев в PostScript, они начинаются с % и заканчиваются символом конца строки.

Таблица перекрестных ссылок. Таблица содержит информацию о каждом объекте в файле в виде одной строки описания места объекта в файле. PDF-файл содержит таблицу, состоящую из одного или более разделов. Если нет изменений или добавлений в файл, таблица состоит из одного раздела. В противном случае в ее состав добавляется новый раздел.

Приведем описание раздела таблицы, состоящего из подразделов. Каждый подраздел включает данные для непрерывной области номеров объектов. Организация подразделов удобна для пошагового изменения, потому что допускает добавление нового раздела перекрестной ссылки, содержащей данные об объектах, которые были добавлены или удалены.

Каждый подраздел перекрестной ссылки начинается со строки заголовка, содержащей два числа: объектный номер в этом подразделе и номер данных в подразделе.

Есть два формата данных таблицы: для объектов, которые используются, и для объектов, которые были удалены.

<cross-reference entry> ::=

<in-use entry> |

<free entry>

Для объекта, который используется в публикации, указываются байтовое смещение, определяющее количество байтов от начала файла к началу объекта, номер генерации объекта, и ключевое слово n: <in-use entry> ::= <byte offset><generation number> n. Для объекта, который свободен, указываются объектный номер следующего свободного объекта, номер генерации и ключевое слово f: <free entry> ::= <object number of next free object><generation number> f.

Когда косвенный объект удаляется, его запись в таблице помечается как «свободная», и номер генерации объекта увеличивается на единицу, чтобы открыть возможность использования объекта с таким номером.

Trailer позволяет программному приложению при чтении PDF-файла быстро находить таблицу перекрестных ссылок и специальные объекты. Приложения должны читать PDF-файл с конца. Последняя строка содержит маркер конца файла %%EOF; две предшествующие строки - ключевое слово startxref и байт смещения от начала файла к началу слова xref в последнем разделе таблицы ссылок в файле. Trailer dictionary предшествует этой строке.

Атрибуты trailer показывают смещения от начала файла к месту расположения последнего после изменения раздела таблицы ссылок, каталог объектов для публикации (в виде dictionary), массив двух string-идентификаторов создания и изменения файла, информацию для декодирования документов и т.п.

Пошаговая коррекция документа. Содержимое PDF-файла может быть изменено без переписывания всего файла. Изменения можно внести в конец файла, сохраняя его первоначальное содержание. Когда файл модифицируется, добавляются новые или измененные объекты, раздел таблицы ссылок и новый trailer. Удаленные объекты остаются неизменными в файле, но помечаются как удаленные в таблице ссылок.

Шифрование документа. Документы или публикации могут быть зашифрованы для защиты их содержимого от несанкционированного доступа. Доступ к защищенному содержимому документа контролируется специальным «механизмом», определенным в таблице dictionary шифрования - значение Encrypt ключа в dictionary trailer.

Защита данных в файле PDF состоит из двух шагов: вычисление ключа, который должен использоваться, чтобы закодировать данные, и шифрование данных. Ключ является строкой (string) из пяти байтов. Для шифрования используется RC4 - симметричный алгоритм, который может применяться как для шифрования, так и для дешифрования. Алгоритм RC4 не меняет длины данных.

Структура PDF-публикации. PDF-публикация может быть описана как иерархия объектов, содержащихся в «теле» PDF-файла. Структура PDF-публикации (документа) представлена на рис. 3.6.

Основными объектами в этой иерархии являются таблицы dictionary. Связи в иерархии представлены парами ключ - значение, в которых значение - косвенная ссылка на родитель-ский или дочерний объект. Например, объект Catalog, который является «корнем» иерархического дерева, содержит «ключ страниц» и соответствующее ему значение - косвенную ссылку на объект корень «дерева» страниц (Pages tree).

Каждая страница документа включает ссылки на свои изображения, миниатюры и комментарии, которые появляются на странице. Trailer PDF-файла, описанный выше, определяет место объекта Catalog в виде значения корневого ключа (Root) в trailer. Кроме того, trailer задает с помощью ключа Info место информационной таблице dictionary публикации, т.е. структуре, которая содержит общие сведения о документе.

Каталог (Catalog). Catalog - объект типа dictionary, являющийся корневым узлом документа. Он содержит ссылки на дерево страниц в документе, ссылку на дерево объектов, представляющих схему документа (bookmarks или outline), ссылки на статьи и список named destinations. Catalog показывает также, появляется ли схема публикации или миниатюры автоматически, когда документ просматривается (задается атрибутом типа имени со значениями: UseNone, UseOutlines, UseThumbs, Full-Screen), и должна ли быть воспроизведена при открытии иная, чем первая страница. С помощью этого объекта атрибутом ViewerPreferences можно задать также параметры программы просмотра при открытии публикации.

Пример объекта Catalog:

1 0 obj

<<

/Type /Catalog

/Pages 2 0 R

/Outlines 3 0 R

/PageMode /UseOutlines

>>

endobj

Дерево страниц (Pages tree). Доступ к страницам документа открывается через дерево узлов, названное деревом страниц. Это дерево определяет порядок страниц в документе. Для оптимизации производительности программы просмотра Acrobat Distiller и Acrobat PDF Writer конструируют сбалансированное дерево. Структура дерева позволяет приложению быстро открыть документ, содержащий тысячи страниц, используя ограниченный объем памяти. Простейшая структура состоит из единственного узла страниц, который ссылается на все страничные объекты. Структура дерева страниц документа не связана с содержимым документа. В PDF-файле книги, например, не гарантируется, что глава представлена одним узлом в дереве. Корень и все другие узлы дерева страниц являются объектами типа dictionary. Их основные атрибуты: имя - Pages, список косвенных ссылок на непосредственные дочерние узлы, объект-предок типа dictionary.

Пример:

2 0 obj

<<

/Type /Pages

/Kids [4 0 R 10 0 R 24 0 R]

/Count 3

>>

endobj

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

Объекты страницы (pages). Эти объекты являются объектами типа dictionary, ключи которого описывают текст, содержащийся на одной странице, и изображения. Основные атрибуты: имя - Page, MediaBox Rectangle - определяет «настоящий размер» страницы, Crop box - размер для печати, Parent - объект, непосредственный предок страницы, Resources - типа dictionary (ресурсы, требующиеся этой странице), Contents - типа stream (определяет страничное описание посредством косвенной ссылки), Thumb - типа stream (содержит ссылку на миниатюру), Annots - типа array (содержит массив объектов, который определяет комментарии на страницу), B - array (если страница содержит части статей), H - boolean (true - страница скрыта во время показа документа) и т.п.

Пример иллюстрирует страницу с миниатюрой и двумя комментариями.

3 0 obj

<<

/Type /Page

/Parent 4 0 R

/MediaBox [0 0 612 792]

/Resources <<

/Font << /F3 7 0 R /F5 9 0 R /F7 11 0 R >>

/ProcSet [/PDF] >>

/Thumb 12 0 R

/Contents 14 0 R

/Annots [23 0 R 24 0 R]

>>

endobj

Три ключа объекта Page: Dur (время показа), Hid (скрытие страницы) и Trans (описывает «эффект» при переходе к данной странице) - содержат информацию, которая используется только в режиме «презентации» и игнорируется в противном случае.

Миниатюры (Thumbnail). PDF-документ может включать миниатюрные схемы страниц. Миниатюра задается значением ключа Thumb объекта страницы. Структура миниатюры подобна, за небольшими исключениями, структуре изображения (см. ниже).

Комментарии (Annotations). Комментарии - это заметки или другие объекты, которые связаны со страницей, но описываются отдельно от дескриптора страницы. PDF поддерживает несколько видов комментариев: текстовые, гипертекстовые связи, видео- и аудиоинформацию.

Если страница содержит комментарии, то они сохраняются в массиве как значение Annots ключа объекта страница. Каждый комментарий - объект типа dictionary. Основными ключами комментария являются: Type, Subtype, Rect. Другие ключи, определяющие цвет (С), заголовок (T), рамку (Border или BS) и т.п., не являются обязательными.

Дерево закладок - Outline tree (bookmarks tree). Структура предоставляет пользователю возможность иметь доступ к различным видам публикации по имени. Активация outline entry (или bookmark - закладки) «переносит» на новый вид, заданный в так называемом «описании места назначения» (destination description) для bookmark. Закладки часто образуют иерархическую структуру. Если документ включает закладки, они доступны по ключу Outlines в Catalog-объекте. Значение этого ключа - корень дерева закладок. Закладка верхнего уровня содержит связный список. В процессе просмотра закладки появляются в той последовательности, в какой они входят в данный список. Основные атрибуты этого объекта типа dictionary: Count (общее количество открытых закладок), First (ссылка на начало списка), Last (ссылка на конец списка).

Пример:

21 0 obj

<<

/Count 6

/First 22 0 R

/Last 29 0 R

>>

endobj

Атрибуты закладки: Title - название, Dest типа array или name - место назначения (Destination), A - действие, выполняемое при активации закладки, Parent - ссылка на закладку верхнего уровня иерархии, Prev - ссылка на предыдущую закладку, Next - ссылка на следующую закладку.

Пример:

22 0 obj

<<

/Parent 21 0 R

/Dest [3 0 R /Top 0 792 0]

/Title (Document)

/Next 29 0 R

/First 25 0 R

/Last 28 0 R

/Count 4

>>

endobj

Место назначения (Destinations). Комментарии и закладки могут определять место назначения, которое состоит из страницы, места на странице и масштаба показа страницы. Назначение может быть представлено явно как массив или посредством имени. В первом случае значениями ключа Dest являются непосредственно данные о странице - Page, Top, Bottom, Left, Right, Zoom, в различных комбинациях задающие страницу и показанный на ней «прямоугольник». Поименованные места назначения (тип string или name) часто применяются, когда закладка ссылается на другой файл. Catalog документа может содержать ключ Names со значениями, каждое из которых представляет собой дерево, подобное дереву страниц. «Листья» содержат пары из strings и косвенных объектов, которые и являются destinations.

Дерево имен (Name tree). Дерево имен похоже на дерево страниц, но листья содержат пары string (имен) и объектов. Такое дерево применяется для организации поименованных мест назначения. Оно состоит из узлов трех видов: корень, промежуточное, листья. Корень содержит атрибуты Kids-массив и Limits-массив. Лист содержит Limits и массив Names (форма массива name value name value ..., где value - косвенная ссылка на объект). Имена в дереве сохраняются только в листьях.

Информационный объект типа dictionary (Info dictionary). Как упоминалось выше, trailer документа может включать ссылки на Info dictionary, который содержит информацию о публикации. Значения строковых атрибутов этого объекта представляют собой информационное окно документа в Acrobat. В качестве атрибутов используются: Author, CreationDate, ModDate, Creator, Title, Subject, Keywords.

Статьи (article threads). Публикация может включать несколько статей (article threads), каждая из которых, в свою очередь, может содержать несколько фрагментов - bead. Статьи (threads) сохраняются в массиве как значение ключа Threads в Catalog-объекте. Каждая статья и ее фрагменты представляют собой объекты dictionary. Атрибуты статьи: F (определяет первый фрагмент), I (содержит информацию о статье, подобен Info dictionary). К атрибутам фрагмента относят: T (ссылка на статью), V (ссылка на предыдущий фрагмент), N (следующий фрагмент), P (страница, на которой размещается фрагмент), R (прямоугольник положения фрагмента на странице).

Формы (Acrobat Forms). Формы в Acrobat состоят из полей. Основные свойства полей: тип, имя, значение. Свойства формы PDF-документа сохраняются в AcroForm dictionary, на который ссылается ключ объекта Catalog - AcroForm. Его атрибут Fields (array) - массив, состоящий из ссылок на корневые поля. Свойства полей могут располагаться непосредственно в dictionary поля либо наследоваться, так как поля могут иметь иерархическую структуру. Атрибут поля FT (name) определяет тип поля. Названия типов полей в формате: Btn - кнопка; Tx - текст; Ch - поле; V - значение, его формат зависит от типа поля, т.е. от первого атрибута; DV - значение поля по умолчанию; Ft - набор различных характеристик поля (Read Only, Required и т.п.); Kids, Parents - атрибуты, определяющие иерархические отношения между полями. Kids организован в виде массива, каждый элемент которого является соответствующей ссылкой. Формы Acrobat используют комментарии для представления полей и управления действиями пользователя. Эти комментарии имеют подтип Widget. Для оптимизации атрибуты поля объединяются в один dictionary с атрибутами Widget. Поле поэтому может быть комментарием, на который ссылается Annots - ключ к какой-либо странице.

Текстовые и поля выбора могут содержать «переменный» текст, т. е. текст, сохраненный в атрибутах поля и появляющийся при выводе поля на экран. Следующие атрибуты определяют появление такого текста. Атрибут DR - ресурсы (Resources dictionary). Как минимум, он должен содержать ресурс типа шрифта. Атрибут DA характеризует свойства текста, появляющегося по умолчанию. String содержит последовательность операторов, определяющих свойства текста: цвет, кегль (размер) и т.д. Атрибут Q задает режим выравнивания.

Аудиоинформация. Звук представлен как stream-объект, который состоит из объектов типа dictionary. Его атрибуты: R (скорость воспроизведения), C (количество звуковых каналов), B (количество битов на канал), Е (формат звука), CO (тип сжатия звука, этот атрибут может быть пропущен). Многоканальные несжатые звуковые фрагменты сохраняются в формате чередования (в порядке 1, 2), для двухканального стереозвука (1 - левый канал, 2 - правый). Для проигрывания звука из другого файла атрибут F должен содержать имя звукового файла.

Спецификация файла (File specification). Этот тип объекта определяет место расположения файла на диске. Не зависит от операционной системы. Стандартный формат для простой спецификации файла делит строку на компоненты символом (/). Этот символ используется как общий разделитель, который заменяется соответствующим разделителем при создании системно-зависимого имени файла. Известны спецификации файла для различных платформ.

Другой вид описания спецификации файла - directory (полная спецификация). Directory содержит ключ, определяющий платформу F или ключ FS (file system). Три ключа определяют имена файлов для соответствующих платформ: Mac, Dos, Unix.

Шрифт (Font). Шрифт представлен в PDF-формате как объект типа dictionary, определяющий тип, имя, кодировку и другую информацию.

PDF определяет следующие типы шрифтов.

  1. Type 1. К его атрибутам относят:

  • Base Font - имя в языке описания полос PostScript, определяющее базовый шрифт;

  • FirstChar, LastChar - определяет код первого и последнего символов в массиве Widths;

  • Widths - массив ширины (LastChar - FirstChar + 1);

  • Encoding (dictionary) - определяет кодировку символов (в противном случае используется кодировка по умолчанию: MacRomanEncoding, MacExpert Encoding, WinAnsiEncoding);

  • FontDescriptor - определяет размеры и ширину символа.

  1. Type 3 - известен как пользовательский шрифт и имеет следующие атрибуты:

  • CharProcs - ключ-имя символа, значение которого связано с ключом в stream-объекте, который прорисовывает шрифт;

  • FontBox - прямоугольник, ограничивающий область символа (знакоместо);

  • Resources - список поименованных ресурсов для прорисовки шрифта.

Известны также шрифты: TrueType, Type 0, CIDFont Type 0, CIDFont Type 2.

Любой шрифт включает атрибут Name. Большинство шрифтов определяют также ширину символов в шрифте (смещение между началом текущего и следующего символа).

Внешние объекты - External Objects (XObjects). XObjects - поименованные ресурсы. PDF поддерживает три типа таких объектов: Images, Forms и PostScript language fragments, которые используют подтип Image. Цветные изображения могут иметь один компонент цвета (значение индексированного цвета), три компонента (RGB, CalRGB или Lab) или четыре базовых цвета аддитивной цветовой модели CMYK. Image XObject - это объект stream. Stream dictionary должен включать все стандартные ключи потоков, а также несколько дополнительных: Name (имя ресурса), Width, Height (ширина и высота изображения), BitsPerComponent (количество битов на каждый цвет), Interpolate (сглаживание) и др.

Form XObjects - это описание любого текста, графики или простых изображений, которые могут многократно воспроизводиться на различных страницах или в разных местах одной страницы. Представлено в виде stream. Специфические атрибуты: Bbox (Rectangle) - определяет границы формы, Resources - список ресурсов, таких, как текст или изображения, требующиеся для этой формы, XUID - уникальный идентификатор, позволяющий кешировать форму для прорисовки ее в другом месте.

Страничные описания (Page Descriptions). В PDF страничное описание является последовательностью графических объектов. Эти объекты создают маркеры marks, которые прилагаются к текущей странице.

Существует четыре типа таких объектов:

  • path object - произвольные кривые (контуры), включает операторы, определяющие наличие заливки, сглаживания и т.д.;

  • text object содержит одну или более текстовых строк, которые могут быть размещены в любом месте страницы;

  • image object состоит из набора изображений.

  • External Objects (XObject) - объекты, определенные вне потока.

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

Графическое состояние (Graphics state). Визуализация графического объекта определяется такими параметрами, как толщина линии, шрифт и др. Они являются частью graphics state. Хотя содержание graphics state подобно таким же состояниям в PostScript, есть некоторые отличия. В PDF graphics state разделено на четыре группы параметров: для текста, цвета, основных операций маркировки и собственно графики. Graphics state расширено для разграничения параметров заливки и штриховки.

Special Graphics State содержит параметры, которые применяются ко всем типам графических объектов. PDF обеспечивает создание graphics state stack для сохранения и восстановления состояний (оператор q).

К Special Graphics State параметрам относятся:

  • Clipping path - ограничивает регион, в котором может быть применена закраска;

  • Current point - все рисование на странице осуществляется с помощью этого параметра (по аналогии с рисованием на бумаге такой параметр можно назвать «местом расположения» пера, используемого для рисования);

  • Special Graphics State operators: q - сохранение текущего состояния в стеке состояний, Q - восстановление графического состояния из стека, concat - модифицирует CTM (Current Transformations Matrix).

Перечислим некоторые из параметров General Graphics state в PDF.

  • Flatness - устанавливает максимальное разрешенное расстояние между точной кривой и ее приближением с помощью сегментов-линий (оператор setflat устанавливает данный параметр);

  • Line cap style - стиль конца линии;

  • Line dash pattern - стиль линии (штриховка и ее параметры);

  • Line join style - стиль соединения линий;

  • Line width - ширина линии;

  • Halftone - параметр полутонов.

Контуры (Path). Используются для представления линий, кривых и областей. Сегментами могут быть прямые линии или кривые (кривые Безье). Операторы: MoveTo, LineTo - добавляют линию к контуру, CurveTo - добавляет кривую к контуру, closepath - «закрывает» контур и добавляет линию из текущей точки к началу контура, fill - заполняет контур и др.

Состояние текста (Text state). Включает те графические параметры, которые влияют только на текст:

  • Tc - расстояние между символами (смещение между началом одного и другого символа);

  • Tw - расстояние между «началами» слов;

  • Th - ширина символов (в процентах от нормальной);

  • Tl - вертикальное расстояние между смежными строками текста;

  • T fs - размер шрифта;

  • T f - шрифт.

PDF text object состоит из операторов, которые определяют символьные строки, перемещения текущей точки и «текстовые состояния».

Text string operators - эти операторы прорисовывают текст на странице. Хотя можно передавать индивидуальные символы текстовым операторам, поиск текста выполняется значительно лучше, если текст группируется по параграфам. Основные операторы: Tj show - выводит текстовую строку, используя параметры из texts state. TJ - выводит текст со смещениями.

Формат PDF используется как основа представления данных при создании электронных изданий с помощью технологий Adobe Systems в среде программного пакета Adobe Acrobat.