Генерация PDF-документов на Python!



В backend-разработке и автоматизации часто требуется формировать PDF-файлы: отчёты, инструкции, уведомления, сервисные документы. Для простых задач хорошо подходит лёгкая библиотека fpdf2.

Установка библиотеки:
pip install fpdf2

Импортируем основной класс, создаём PDF-документ и добавляем страницу (по умолчанию формат A4, единицы измерения — мм):
from fpdf import FPDF

pdf = FPDF()
pdf.add_page()


Перед выводом текста задаём шрифт. FPDF поддерживает встроенные core-шрифты (Helvetica, Times, Courier и др.), которые не требуют подключения TTF:
pdf.set_font("Helvetica", size=12)

Метод cell позволяет выровнять текст по центру и перейти на новую строку:
pdf.set_font("Helvetica", style="B", size=16)
pdf.cell(
w=0, # на всю доступную ширину страницы
h=10,
text="My First PDF in Python",
new_x="LMARGIN",
new_y="NEXT",
align="C"
)


Для многострочного текста используем multi_cell, который автоматически обрабатывает переносы строк:
pdf.set_font("Helvetica", size=12)
pdf.multi_cell(
w=0,
h=10,
text="This PDF was created using Python and FPDF."
)


Когда все элементы добавлены, сохраняем PDF-файл:
pdf.output("report.pdf")
print("PDF created successfully!")


Важно: встроенные core-шрифты поддерживают только Latin-1. Для кириллицы и любого Unicode-текста необходимо подключать TTF/OTF-шрифты через add_font.

FPDF подходит для сервисных документов, автогенерируемых файлов и отчётов, формируемых из данных БД и отдаваемых через API или email. Для сложной вёрстки, HTML-шаблонов и таблиц чаще используют другие решения.

Python Ready | #практика
Просмотры: 191
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти