FPDF

FPDF позволяет формировать PDF из PHP-кода: добавлять страницы заданного формата, выводить текст и таблицы, размещать JPEG, PNG, GIF и WebP, рисовать линии и прямоугольники, создавать ссылки, колонтитулы и метаданные, а затем сохранять документ, отправлять его в браузер или получать как строку. Основные инструменты — AddPage(), SetFont(), Cell(), MultiCell(), Write(), Image(), методы позиционирования и Output(); поэтому макет собирается последовательно, с точным контролем координат, отступов, цветов и переходов на новую страницу.

ReportLab

ReportLab помогает программно собирать PDF-документы из текста, таблиц, изображений, векторной графики, диаграмм, штрихкодов и интерактивных полей: низкоуровневый canvas даёт точный контроль координат и рисования, а Platypus автоматически переносит содержимое по страницам, применяет стили и формирует сложную многостраничную верстку.

borb

В borb можно программно собирать PDF-отчёты, счета, билеты, анкеты и формы из абзацев, изображений, таблиц, списков, фигур и SmartArt, а затем читать готовые документы, извлекать из них текст, картинки и метаданные, добавлять аннотации и сохранять изменённый файл. Главные инструменты — Document и Page для структуры, PageLayout для размещения, LayoutElement для содержимого и PDF.read с PDF.write для ввода и вывода.

PyPDF2

PyPDF2 позволяет из Python читать страницы и метаданные PDF, извлекать текст и встроенные изображения, объединять и разделять документы, поворачивать, обрезать и масштабировать страницы, накладывать штампы, работать с аннотациями и формами, а также задавать или снимать пароль. Основные операции выполняются через PdfReader, PdfWriter и объекты страниц, поэтому обработку легко встроить в скрипт, веб-приложение, пакетную задачу или конвейер хранения документов.

PyPDF

PyPDF помогает автоматизировать обработку документов: читать текст и метаданные, объединять и разделять страницы, менять их поворот и область отображения, добавлять закладки, аннотации, водяные знаки, вложения и пароли. Основная работа строится вокруг PdfReader для разбора исходного файла, PdfWriter для сборки результата и PageObject для операций с отдельными страницами, поэтому один сценарий можно применить к целой папке без повторения ручных действий.

PyMuPDF

PyMuPDF помогает извлекать текст и таблицы из PDF, искать фразы по координатам, превращать страницы в изображения, объединять и переставлять листы, заполнять формы, добавлять аннотации и необратимо удалять конфиденциальные данные. Основные инструменты — объекты Document и Page, геометрия Rect и Quad, структурированные режимы get_text(), рендеринг get_pixmap(), поиск search_for(), таблицы find_tables(), виджеты форм и операции сохранения с очисткой и сжатием.

pikepdf

pikepdf позволяет программно объединять и разделять PDF, переставлять и поворачивать страницы, исправлять повреждённую структуру, менять XMP-метаданные, извлекать исходные изображения, добавлять вложения, задавать шифрование и сохранять документ с линейной загрузкой. Работа строится вокруг объектов Pdf, Page, Stream и Job: файл открывается в Python, нужные элементы меняются через понятные коллекции и словари, после чего результат записывается с выбранными параметрами совместимости и сжатия.