вторник, 30 апреля 2013 г.


Этот пост, чтобы подробно объяснить полиморфизм PDF

Это простой "Hello World"-PDF просматриваемый с помощью текстового редактора:


Он состоит из:
  • заголовка; 
  • Список объектов; 
  • таблица перекресных ссылок; 
  • Концевой словарь (Trailer). 

Описание физической структуру файла PDF.
Заголовок определяет, что это PDF файл (с указанием версии PDF файла), Trailer указывает на перекресную ссылку (начиная с позиции байта 642 в файле), и точки пересечения таблице применительно к каждому объекту (от 1 до 7 ) в файле (байт с 12 по 518). Объекты отсортированы в файле: 1, 2, 3, 4, 5, 6 и 7.


Trailer словарь
Этот словарь, проживающих в дополнении к файлу, а не в основной его части, это одна из первых вещей, которая будет обработана, программой перед чтением PDF документа. Он содержит записи таблицы перекрестных ссылок и таким образом объекты-к файлу для чтения. Его важные записи приведены в таблице 4-1 .


Ключ                Тип значения                             Значение
/Size*                  Integer                                           Общее количество записей в таблице 
                                                                                 перекрестных ссылок файла (обычно равно 
                                                                                 количеству объектов в файле плюс один).
/Root*                 Indirect reference to dictionary       ссылка на Каталога документа.
/Info                     Indirect reference to dictionary      документальная информация словаря./ID                      Array of two Strings                      Однозначно определяет файл в рабочий
                                                                                процесс. Первая строка решает, когда создается
                                                                                первый файл, второй изменены системы
                                                                                 документооборота при модификации файла.


Каталог документа является корневым объектом основного графика объект, от которого все остальные объекты могут быть достигнуты через косвенные ссылки.

Вот пример дополнения словаря:
<< 
        /Size 421 
        /Root 377 0 R 
        /Info 375 0 R 
        /ID [<75ff22189ceac848dfa2afec93deee03> <057928614d9711db835e000d937095a2>] 
>>

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


Логическая структура PDF файл имеет иерархическую структуру, корневой объект идентифицируется в Trailer. Объект 1 является корнем, объекты 2 и 3 детей объекта 1, и т.д. ..., давая эту логическую структуру:


Физическая структура PDF файл может быть преобразована в другую физическую структуру, без изменения логической структуры. Вот тот же файл, но теперь объекты отсортированы от 7 до 1 (я изменил порядок, в котором объекты появляются в файле):




Также необходимо обновить перекрестные ссылки в таблице, потому что каждый объект поменял свое место. Но кроме этого, ничего не изменилось.Еще корень объект 1, и дерево то же самое. Иными словами, логическая структура файла остается неизменной, что подразумевает, что визуализация и PDF файлы идентичны. Объекты могут появляться в случайных позициях в PDF файл без влияния на логическую структуру файла (т.е. рендеринга). По этой простой файл, с 7 объектов, у меня есть 5020 5040 (это 7!) возможных физических структур, просто изменение порядка объектов. Изменение порядка объектов только один из способов мутировать физическую структуру PDF файла.

Вы можете скачать как PDF файлы здесь.

отсюда

Комментариев нет:

Отправить комментарий