Конвертировать PDF в XML

Я хочу конвертировать PDF-файл с несколькими изображениями в XML с использованием Java.

Есть ли какие-либо API, хотя это может быть сделано, чтобы все изображения и текст PDF были преобразованы в XML-файл.

пожалуйста помоги.

4 ответа

Используйте pdftohtml.

Может быть установлен с brew install pdftohtml, Это добавляет pdftohtml на ваш путь.

Итак, чтобы конвертировать PDF в XML, вы можете запустить pdftohtml -xml your_file.pdf your_file.xml

Затем просто используйте Java или любой другой язык для выполнения этой команды.

PDF - один из худших форматов для работы. Предназначен для рендеринга 2D-графики и текстовых документов. Существуют библиотеки, которые позволяют вам манипулировать PDF-объектами в PDF-документе, но не смогут определить, связано ли изображение с каким абзацем. Вы не сможете извлечь семантику этого легко.

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

Поскольку каждый PDF-документ очень отличается, практически невозможно автоматизировать это без помощи человека.

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

Вы можете Base64 закодировать весь поток байтов PDF-файла и сериализовать его в XML-документ, например "<pdf><![CDATA[BASE64ENCODEDPDFFILECONTENTS...]]></pdf>знак равно

iText - это библиотека, которая позволяет создавать и управлять документами PDF. Это позволяет разработчикам, желающим улучшить веб- и другие приложения, с помощью динамической генерации PDF-документов и / или манипулирования ими. Разработчики могут использовать iText для:

* Serve PDF to a browser
* Generate dynamic documents from XML files or databases
* Use PDF's many interactive features
* Add bookmarks, page numbers, watermarks, etc.
* Split, concatenate, and manipulate PDF pages
* Automate filling out of PDF forms
* Add digital signatures to a PDF file

iText доступен как на Java, так и на C#.

Другие вопросы по тегам