Найти в Дзене
SoftSAR

Python создание PDF файлов

В предыдущих статьях "Python работа с файлами PDF" и "Python чтение pdf файлов", "Python создание PDF файлов" мы рассмотрели основные библиотеки для работы с PDF (чтение, извлечение данных и создание PDF файлов), научились читать и извлекать данные из PDF файлов, научились создавать PDF файлы с помощью библиотеки PyFPDF. В данной статье мы рассмотрим методы записи (генерации) PDF файлов с помощью библиотеки Fpdf2. Fpdf2 Устанавливаем библиотеку через командную строку: pip install fpdf2 Документация. Создаем простой PDF файл. Импортируем модуль FPDF из библиотеки fpdf. По умолчанию создается PDF файл в режиме Portrait, в качестве единиц измерения выступают миллиметры, размер страницы А4. Если вы хотите быть четче, вы можете вписать следующую строку установки. Вы можете указать следующие параметры: orientation ориентация страницы P - Книжная ориентация, L - альбомная, unit - единицы измерения mm - милиметры, pt - пункты, cm - сантиметры и in - дюйм, format - размеры страницы. FPDF2
Оглавление

В предыдущих статьях "Python работа с файлами PDF" и "Python чтение pdf файлов", "Python создание PDF файлов" мы рассмотрели основные библиотеки для работы с PDF (чтение, извлечение данных и создание PDF файлов), научились читать и извлекать данные из PDF файлов, научились создавать PDF файлы с помощью библиотеки PyFPDF. В данной статье мы рассмотрим методы записи (генерации) PDF файлов с помощью библиотеки Fpdf2.

Fpdf2

-2

Устанавливаем библиотеку через командную строку:

pip install fpdf2

Документация.

Создаем простой PDF файл.

Импортируем модуль FPDF из библиотеки fpdf. По умолчанию создается PDF файл в режиме Portrait, в качестве единиц измерения выступают миллиметры, размер страницы А4. Если вы хотите быть четче, вы можете вписать следующую строку установки. Вы можете указать следующие параметры: orientation ориентация страницы P - Книжная ориентация, L - альбомная, unit - единицы измерения mm - милиметры, pt - пункты, cm - сантиметры и in - дюйм, format - размеры страницы. FPDF2 поддерживает следующие размеры страниц: A3, A4, A5, letter, legal и произвольный размер.

При попытке создать документ с русским текстом (кириллическими символами) произойдет ошибка. Дело в том, что стандартные шрифты библиотеки не поддерживают их, необходимо использовать шрифты с поддержкой кириллицы. Для нашего удобства библиотека собрала 96 файлов TTF в дополнительном «Бесплатном пакете шрифтов Unicode TrueType для FPDF». Для работы скачайте и распакуйте шрифты в папке с проектом, оставьте в папке только те шрифты с которыми будете работать. Методом add_font() загружаем нужный шрифт.

Добавляем колонтитулы

Создаем документ из двух страниц с верхним и нижним колонтитулами.

Работа с абзацами

Рассмотрим пример, который печатает выровненные абзацы. Он также иллюстрирует использование цветов.

Создание таблиц

В этом примеры мы покажем, как можно с легкостью создавать таблицы. Код создаст три различные таблицы, чтобы продемонстрировать возможности библиотеки.

-3

Поскольку таблица это просто набор ячеек, естественно построить таблицу из них. Первый пример достигается самым простым способом: простые ячейки в рамке. Вторая таблица имеет некоторые улучшения: каждый столбец имеет свою ширину, заголовки выровнены по центру, а цифры по правому краю. Третья таблица похожа на вторую, но в ней используются цвета заливки, текста и линий просто задаются. Альтернативная окраска строк достигается путем использования поочередно прозрачных и заполненных ячеек.

Добавление изображений

Добавление изображений в PDF файл.

Сжатие изображения. По умолчанию, модуль не изменяет ваших изображений:преобразование изображения из/в PNG/JPEG не производится. Чтобы преобразовать и встроить все изображения в формате JPEG, выполните следующий код:

Вы также можете создавать шаблоны документов с использованием FPDF2. Система шаблонов поддерживает использование файлов CSV и баз данных.

В данной статье мы рассмотрели методы генерации PDF файлов с помощью библиотеки Fpdf2. Библиотека Fpdf2 это отличный модуль, который открывает перед вами возможности генерации как простых, так и сложных PDF файлов. Генерация PDF файлов библиотекой Pdfrw будет рассмотрена в наших следующих статьях.

С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am