Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мультимедиа.docx
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
233.67 Кб
Скачать

2. Подготовка электронных изданий в формате pdf. Структура документа в формате pdf — трейлер, таблица перекрестных ссылок.

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

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

Структура файла:

Обычный 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-идентификаторов создания и изменения файла, информацию для декодирования документов и т.п.