Конвертировать 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#.