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, нужные элементы меняются через понятные коллекции и словари, после чего результат записывается с выбранными параметрами совместимости и сжатия.

pdfminer.six

pdfminer.six извлекает из PDF текст, координаты символов и блоков, сведения о шрифтах и цветах, встроенные изображения, закладки и значения полей AcroForm. Для разовой обработки доступны команды pdf2txt.py и dumppdf.py, а для автоматизации — функции extract_text, extract_pages и модульные классы парсера, интерпретатора и конвертеров.

pdfplumber

pdfplumber помогает извлекать из PDF точный текст, слова с координатами, таблицы, линии, прямоугольники, аннотации и метаданные, а затем проверять результат на изображении страницы. Основные инструменты — объекты PDF и Page, методы extract_text(), extract_words(), extract_table(), обрезка по координатам и визуальная отладка PageImage.