Трейлер файла парсинга PDF - PullRequest
0 голосов
/ 24 мая 2010

Из стандартного документа PDF ISO (PDF32000-2008) неясно, может ли комментарий следовать за ключевым словом startxref:

startxref
Byte_offset_of_last_cross-reference_section
%%EOF

Стандарт, похоже, подразумевает, что комментарии могут появляться где угодно:

7.2.3 Комментарии

Любое вхождение PERCENT SIGN (25h) вне строки или потока вводит комментарий. Комментарий состоит из всех символов после знака PERCENT и вплоть до конца строки, но не включая его, включая обычные символы, разделители, пробел (20h) и символы HORZONTAL TAB (09h). Соответствующий читатель должен игнорировать комментарии и рассматривать их как отдельные символы пробела. То есть комментарий отделяет маркер, предшествующий ему, и токен, следующий за ним.

ПРИМЕР Фрагмент PDF в этом примере синтаксически эквивалентен только токенам abc и 123.

abc% comment ( /%) blah blah blah
123

Комментарии (кроме% PDF – n.m и %% EOF комментарии описаны в 7.5, "Файл Структура ") не имеют семантики. Они не обязательно сохраняются приложения, которые редактируют файлы PDF.

Если им разрешено появляться после startxref, синтаксический анализ файла становится более сложным, поскольку вы не знаете, как далеко отступить от комментария %%EOF, чтобы начать синтаксический анализ и найти смещение в байтах.

Есть идеи?

1 Ответ

1 голос
/ 24 мая 2010

ISO 32000 говорит, что строки должны содержать startxref и байтовое смещение к ключевому слову xref.Таким образом, комментарии не допускаются.Я проверил источник для нескольких парсеров PDF (itext, Xpdf и коммерческая библиотека), и все они ожидали смещение байтов сразу после startxref + пробел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...