Подтвердить что ты не робот

Структура файла PDF?

Для небольшого проекта мне приходится разбирать pdf файлы и принимать определенную часть из них (простая цепочка символов). Я хотел бы использовать python для этого, и я нашел несколько библиотек, которые способны делать то, что я хочу, в некотором роде.

Но теперь, после нескольких исследований, мне интересно, какова реальная структура pdf файла, кто-нибудь знает, есть ли спецификация или какие-то объяснения в любом месте в Интернете? Я нашел ссылку на adobe, но кажется, что это мертвая ссылка: (

4b9b3361

Ответ 1

Вот ссылка на справочный материал Adobe

http://www.adobe.com/devnet/pdf/pdf_reference.html

Вы должны знать, что этот PDF файл касается только представления, а не структуры. Анализ не будет легким.

Ответ 2

Я нашел GNU Introduction to PDF, чтобы помочь в понимании структуры. Он включает легко читаемый примерный PDF файл, который они описывают в полной мере.

Другие полезные ссылки:

Ответ 3

Когда я впервые начал работать с PDF, я нашел ссылку pdftron CosEdit позволяет вам просматривать структуру объекта, чтобы понять его. Существует бесплатная демонстрационная версия, которая позволяет вам просматривать файл, но не сохранять его.

Ответ 4

Здесь ссылка > , описывающая структура файла PDF. Если вы используете Vim, плагин pdftk - это хороший способ изучить документ во все более-менее менее сырой форме, а pdftk сама утилита (и ее источник GPL) - отличный способ разделить документы.

Ответ 5

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

Ответ 6

Это может помочь пролить немного света: (со страницы 11 из PDF32000.book)

Синтаксис PDF лучше всего понять, рассматривая его как четыре части, как показано на рисунке 1:

• Объекты. PDF-документ представляет собой структуру данных, состоящую из небольшого набора базовых типов объектов данных.   В подпункте 7.2 "Лексические соглашения" описывается набор символов, используемый для записи объектов и других  синтаксических элементов. В подпункте 7.3 "Объекты" описывается синтаксис и существенные свойства объектов. В подпункте 7.3.8 "Объекты потока" содержатся подробные сведения о наиболее сложном типе данных, потоке объект.

• Структура файла. Структура файла PDF определяет, как объекты хранятся в файле PDF, как они   доступ к ним и их обновление. Эта структура не зависит от семантики объектов. под-  в разделе 7.5 "Структура файла" описывается структура файла. В подпункте 7.6 "Шифрование" описывается файловый уровень механизм защиты содержимого документов от несанкционированного доступа.

• Структура документа. Структура документа PDF определяет, как основные типы объектов используются для   представляют собой компоненты PDF-документа: страницы, шрифты, аннотации и т.д. Подпункт 7.7,   "Структура документа" описывает общую структуру документа; более поздние статьи семантика компонентов.

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

Похоже, что для навигации по файлу PDF потребуется немного больше, чем при прохождении усилий.

Ответ 7

Если вы хотите разобрать PDF с помощью Python, просмотрите PDFMINER. Это лучшая библиотека для анализа файлов PDF до даты.

Ответ 9

Извлечение текста из PDF является трудной проблемой, потому что PDF имеет такую ​​структуру, ориентированную на макет. Вы можете увидеть документы и исходный код моей едва успешной попытки CPAN (моя реализация в Perl). Структура данных PDF очень крутая и хорошо продуманная, но ее легче писать, чем читать.

Ответ 10

Один из способов получить некоторые подсказки - создать файл PDF, состоящий из пустой страницы. У меня есть CutePDF Writer на моем компьютере и сделал пустой документ Wordpad на одной странице. Отпечатано в .pdf файле, а затем открывается файл .pdf с помощью Блокнота.

Затем используйте копию этого файла и исключите строки или блоки текста, которые могут представлять интерес, а затем перезагрузите Acrobat Reader. Вы будете удивлены тем, как мало информации требуется для создания одностраничного PDF-документа.

Я пытаюсь составить таблицу для создания PDF-формы из кода.

Ответ 11

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

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

enter image description here

(Я связан с PDF Analyzer, не собираюсь продвигать)

Ответ 12

Чтобы извлечь текст из PDF, попробуйте это на компьютере с Linux, BSD и т.д. Или используйте Cygwin, если в Windows:

pdfinfo -layout some_pdf_file.pdf

Создан простой текстовый файл с именем some_pdf_file.txt. Чем проще макет файла PDF, тем проще будет вывод файла .txt.

Шестнадцатеричные символы часто присутствуют в выводе файла .txt и будут выглядеть странно в текстовых редакторах. Эти шестнадцатеричные символы обычно представляют фигурные одинарные и двойные кавычки, маркеры, дефисы и т.д. В PDF.

Чтобы увидеть контекст, в котором отображаются шестнадцатеричные символы, запустите эту команду grep и сохраните исходный PDF файл под рукой, чтобы увидеть, какие символы представляют коды в PDF файле:

grep -a --color=always "\\\\[0-9][0-9][0-9]" some_pdf_file.txt

Это предоставит уникальный список различных восьмеричных кодов в документе:

grep -ao "\\\\[0-9][0-9][0-9]" some_pdf_file.txt|sort|uniq

Чтобы преобразовать эти шестнадцатеричные символы в эквиваленты ASCII, можно использовать комбинацию grep, sed и bc, я скоро опубликую эту процедуру.