Библиотека Python для преобразования PDF в HTML/XML
Бесплатная библиотека Python с открытым исходным кодом для преобразования PDF-документов в HTML и XML.
Что такое pdfminer.6?
pdfminer.six — это бесплатная библиотека Python с открытым исходным кодом, которую можно использовать для преобразования PDF-документов в другие форматы.
Вот краткий список основных функций преобразования PDF:
- Преобразование PDF в HTML: конвертируйте PDF-документы в формат HTML, сохраняя при этом структуру и макет документа.
- Преобразование PDF в XML: преобразуйте PDF-файлы в формат XML, сохраняя все детали, включая шрифты и другие элементы.
Начало работы с pdfminer.six
Для установки и использования pypdf вам потребуется Python версии 3.6.0 или выше. Итак, сначала установите Python, а затем используйте приведенные ниже команды для установки pypdf на свой компьютер, используя pip и виртуальная среда.
Линукс
python3 -m venv venv
source venv/bin/activate
pip install pdfminer.six
MacOS
python -m venv venv
source venv/bin/activate
pip install pdfminer.six
Окна
python3 -m venv venv
venv\Scripts\activate.bat
pip install pdfminer.six
Конвертировать PDF в HTML
Мы можем преобразовать PDF-документ в формат HTML, используя функцию extract_text_to_fp библиотеки pdfminer.six (с типом вывода, установленным на html), предоставляемую библиотекой, как показано в приведенном ниже фрагменте кода:
Выход
На следующем снимке экрана показан файл HTML, созданный в результате преобразования документа PDF:
Преобразование PDF в XML
Мы также можем преобразовать PDF-документ в формат XML, используя ту же функцию extract_text_to_fp (но с типом вывода, установленным в xml), предоставляемую библиотекой, как показано в приведенном ниже фрагменте кода:
Выход
На следующем снимке экрана показано содержимое XML, преобразованное из документа PDF:
Заключение
Как правило, pdfminer.six поддерживает преобразование PDF-документов в формат XML без каких-либо проблем, но при попытке конвертировать PDF-файл в HTML ему удается перенести текстовое содержимое, но часто нарушается общий макет.