Библиотека преобразования HTML в PDF с открытым исходным кодом Python
Попробуйте эту бесплатную и открытую библиотеку Python для преобразования HTML-документов в PDF.
Что такое xhtml2pdf?
Xhtml2pdf — это библиотека Python с открытым исходным кодом, разработанная для преобразования HTML-контента в PDF-документы с основным акцентом на сохранение исходной структуры и стиля. Эта мощная библиотека легко преобразует веб-страницы в профессиональные PDF-файлы, готовые к печати.
Начало работы с xhtml2pdf
Вам понадобится Python версии 3.8.0 или выше для установки и использования xhtml2pdf. Поэтому сначала установите Python, а затем используйте команды ниже для установки xhtml2pdf на свой компьютер с помощью pip и виртуальной среды.
линукс
python -m venv env
. env/bin/activate
pip install xhtml2pdf
MacOS
python -m venv env
. env/bin/activate
pip install xhtml2pdf
Окна
python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf
Преобразование HTML-строки в PDF-документ
Мы можем преобразовать HTML-строку в PDF-документ с помощью библиотеки xhtml2pdf. Мы сохраняем полное содержимое HTML в переменной, а затем передаем эту переменную в функцию pisa.CreatePDF(html_content, dest, encoding). Этот метод предоставляет нам содержимое PDF, в котором гиперссылки, изображения и другие элементы управляются в объекте BytesIO, который мы ему передали. Наконец, мы создаем PDF-файл с использованием данных, хранящихся в объекте BytesIO. Проверьте фрагмент кода ниже для получения подробной информации:
Выход
На снимке экрана ниже показан PDF-документ, преобразованный из HTML-строки:
Преобразование HTML-файла в PDF-документ
Мы также можем преобразовать HTML-файл в PDF с помощью библиотеки xhtml2pdf. Мы считываем содержимое HTML-файла в переменную, а затем передаем эту переменную в метод pisa.CreatePDF(html_content, dest, encoding). После этого мы следуем тем же шагам, что и в предыдущем примере, чтобы создать PDF-документ с помощью объекта BytesIO, как показано в следующем фрагменте кода:
Выход
На снимке экрана ниже показан PDF-документ, преобразованный из HTML-файла:
Заключение
Подводя итог, можно сказать, что xhtml2pdf — это библиотека Python с открытым исходным кодом, которая преобразует HTML в PDF-документы, обрабатывая при этом гиперссылки, изображения и внешние таблицы стилей. xhtml2pdf не включает интерфейсные библиотеки при преобразовании HTML в PDF, поэтому, когда в HTML есть переменные, такие как {{name}}, они отображаются в PDF точно так же, как написаны в HTML, а не показывают их фактические значения.
Кроме того, в нем отсутствует поддержка динамических страниц, которые зависят от JavaScript для извлечения контента, и он не следует сложным макетам, указанным в CSS (например, он применяет цвета, размеры шрифтов и т. д., упомянутые в CSS, но игнорирует макет CSS, такой как отступы, поля, отображение и т. д.). Несмотря на эти ограничения, xhtml2pdf остается ценным инструментом для простых потребностей в статическом преобразовании HTML в PDF.