1. Продукти
  2.   PDF
  3.   Python
  4.   XHTML2PDF
 
  

Безкоштовна бібліотека Python для перетворення HTML та CSS у PDF

Бібліотека Python з відкритим кодом дозволяє створювати PDF-документи з HTML. Вона підтримує розширене розташування сторінок, рендеринг зображень та таблиць, додавання власних шрифтів, заголовки/колонтитули тощо.

Що таке бібліотека XHTML2PDF?

У світі веб‑розробки потреба у створенні PDF‑документів з HTML‑вмісту є поширеною вимогою. Будь то створення рахунків‑фактур, звітів або будь‑якого іншого типу друкованого документа, наявність надійного інструменту для виконання цього перетворення є критично важливою. Саме тут на допомогу приходить XHTML2PDF — потужна бібліотека з відкритим кодом для Python. html2pdf (раніше відома як pisa) — це чисто‑Python бібліотека, яка перетворює HTML (включаючи XHTML) та CSS у PDF‑документи. Вона побудована на базі інструментарію ReportLab та html5lib, з додатковою підтримкою PyPDF. Платформо‑незалежна та доступна, вона дозволяє розробникам швидко та ефективно перетворювати веб‑контент у друковані PDF‑файли.

XHTML2PDF насичений функціями, які роблять його універсальним інструментом для генерації PDF. Він підтримує HTML5 та CSS 2.1, безшовну інтеграцію з Django, потужний інтерфейс командного рядка, власні теги, специфічні для PDF, розширене розташування сторінок і стилізацію, кращу підтримку таблиць та зображень тощо. Те, що робить XHTML2PDF таким привабливим для розробників, — це його простота та гнучкість. Якщо ви вмієте писати HTML і CSS, ви можете почати генерувати PDF за допомогою цієї бібліотеки в найкоротший термін. Це чиста бібліотека Python, що означає її платформо‑незалежність і можливість працювати на будь‑якій операційній системі, яка підтримує Python. Також важливо знати обмеження бібліотеки: вона не підтримує всю специфікацію CSS і не виконує JavaScript.

Початок роботи з XHTML2PDF

XHTML2PDF можна встановити за допомогою pip, наступні команди встановлять його з Python wheel, якщо такий доступний для вашої платформи.

Встановіть XHTML2PDF за допомогою pip

 pip install xhtml2pdf 

Клонувати репозиторій через GitHub

 git clone https://github.com/xhtml2pdf/xhtml2pdf.git  

Також можливо встановити його вручну; завантажте останні файли релізу безпосередньо з репозиторію GitHub.

Конвертуйте HTML та CSS у PDF за допомогою Python

Основна функція відкритої бібліотеки XHTML2PDF — аналізувати HTML і CSS (включаючи вбудовані стилі) та точно відображати їх у PDF‑документ. Вона підтримує широкий підмножину HTML‑тегів і CSS‑властивостей, що забезпечує значну гнучкість у дизайні. Підтримуються такі можливості, як розриви сторінок, колонтитули, поля та розмір сторінки, вбудовування шрифтів тощо. Нижче наведено простий приклад, який показує, як розробники можуть конвертувати HTML‑вміст у PDF‑файл за допомогою коду Python.

Як конвертувати HTML‑вміст у PDF‑файл за допомогою Python?

from xhtml2pdf import pisa

# HTML‑вміст, який потрібно конвертувати
html_content = """


Привіт, світ!

Це мій перший PDF, створений за допомогою XHTML2PDF.

""" # Назва вихідного PDF‑файлу output_filename = "hello_world.pdf" # Відкрити вихідний файл у бінарному режимі запису with open(output_filename, "w+b") as pdf_file: # Create the PDF pisa_status = pisa.CreatePDF( html_content, # the HTML to convert dest=pdf_file) # file handle to receive result # Перевірити, чи успішно створено PDF if not pisa_status.err: print(f"Successfully created PDF: {output_filename}") else: print(f"Error creating PDF: {pisa_status.err}")

Розширене розташування сторінок та підтримка власних шрифтів

За допомогою бібліотеки XHTML2PDF розробники мають детальний контроль над розміткою своїх PDF‑сторінок. Вони можуть визначати розмір сторінки, поля та орієнтацію за допомогою правила CSS @page. Розробники також можуть створювати власні колонтитули для документів. Крім того, якщо потрібно використовувати певні шрифти у ваших PDF, бібліотека дозволяє вбудовувати кастомні шрифти. Це особливо корисно для брендингу та забезпечення послідовної типографіки у всіх документах.

Відображення зображень та таблиць у PDF за допомогою бібліотеки Python

Відкрита бібліотека XHTML2PDF забезпечує надійну підтримку відображення таблиць та зображень у ваших PDF. Ви можете стилізувати таблиці за допомогою CSS, а для зображень контролювати їх розмір і вирівнювання. Бібліотека легко і правильно розв’язує та вбудовує зображення, шрифти та інші статичні ресурси, що є критичним для створення самодостатніх PDF. Ви можете автоматично створити зміст, просто додавши тег у ваш HTML.

Підтримка HTML5 та CSS 2.1

Якщо ви знайомі з HTML та CSS, створення PDF з оформленням стає інтуїтивним — без нової кривої навчання. Бібліотека XHTML2PDF має відмінну підтримку сучасних веб-стандартів, включаючи HTML5 та CSS 2.1, а також часткову підтримку властивостей CSS 3. Це означає, що ви можете використовувати знайомі HTML-теги та CSS-властивості для структурування та стилізації ваших PDF-документів, так само, як і для веб-сторінки.