В предыдущих статьях "Python работа с файлами PDF" и "Python чтение pdf файлов", "Python создание PDF файлов" мы рассмотрели основные библиотеки для работы с PDF (чтение, извлечение данных и создание PDF файлов), научились читать и извлекать данные из PDF файлов, научились создавать PDF файлы с помощью библиотеки PyFPDF, Fpdf2. В данной статье мы рассмотрим методы записи (генерации) PDF файлов с помощью библиотеки Pdfrw.
Pdfrw
Устанавливаем библиотеку через командную строку:
pip install pdfrw
Расщепление
PDFRW позволяет создавать новые файлы PDF из старых путем разделения исходного файла на несколько новых файлов. Например, нам необходимо разделить книгу по главам. Мы создаем функцию split(), которая принимает три параметра: путь к файлу PDF, количество извлекаемых страниц, путь к сохраняемому файлу. Используя метод PdfReader() открываем файл. Следующим шагом, циклом проходим по диапазону страниц. На каждом шаге цикла извлекаем содержимое страницы из входного файла и добавляем страницу в созданный PDF документ. В завершении сохраняем документ по указанному пути.
Объединение
Модуль позволяет осуществлять слияние нескольких документов в один.
Мы создаем функцию concatenate() которая принимает два параметра: список объединяемых файлов, и имя(путь) объединенного файла. Циклом открываем файл, считываем страницы с документа и добавляем их в новый документ. В завершении сохраняем документ под новым именем.
Наложение водяных знаков.
PDFRW используют для наложения водяного знака на PDF документ. Функция принимает три параметра: путь к файлу PDF, путь к водяному знаку и место сохранения итогового файла. С помощью цикла извлекаем каждую страницу документа, накладываем водяной знак и добавляем страницу в новый документ. В завершении сохраняем документ по указанному пути.
В данной статье мы рассмотрели методы генерации PDF файлов с помощью библиотеки Pdfrw. Библиотека Pdfrw это отличный модуль, который позволяет манипулировать с PDF файлами.
С уважением, Карян Армен.
Занимаюсь профессиональной разработкой прикладных программ на Python.
email SoftSAR@yandex.ru
Telegram @SoftSar_am