Библиотека Python с открытым исходным кодом для обработки PDF-файлов
Бесплатный Python API позволяет линеаризовать PDF-файлы и получать доступ к зашифрованным PDF-файлам. Он поддерживает создание PDF-файлов с нуля, копирование страниц из одного PDF-файла в другой, разделение или объединение PDF-файлов и многое другое.
PikePDF — это очень простая библиотека Python PDF, которая позволяет разработчикам программного обеспечения работать с файлами PDF внутри приложений Python. Он основан на QPDF, мощной библиотеке для работы с PDF и восстановления. PikePDF — это библиотека преобразования содержимого PDF, обеспечивающая низкоуровневый доступ к файлам PDF. Это означает, что пользователям необходимо знание внутреннего устройства PDF и знакомство со спецификациями PDF. Библиотека имеет открытый исходный код и доступна по лицензии MIT для публичного использования. Библиотека имеет открытый исходный код и доступна по лицензии MPL-2.0.
PikePDF поддерживает линеаризацию PDF-файлов и доступ к зашифрованным PDF-файлам. Он включает в себя очень мощный набор функций, связанных с управлением PDF, таких как создание PDF с нуля, копирование страниц из одного PDF в другой, разделение или объединение PDF, извлечение изображения или текста из PDF, замена содержимого в PDF, поддержка восстановления PDF, поддержка настроек, управление метаданными PDF, работа с защищенными паролем, редактирование метаданных PDF XMP, преобразование существующих PDF-файлов и многое другое.
.
Начало работы с PikePDF
Для PikePDF требуется Python 3.6 и выше. Вы можете установить PikePDF с помощью pip. Пожалуйста, используйте следующую команду для его установки.
Установите PikePDF через pip
pip install pikepdf
Скопируйте страницы из одного PDF в другой через Python
Библиотека PikePDF с открытым исходным кодом предоставляет возможность, которая позволяет разработчикам программного обеспечения копировать страницу из одного PDF-файла в другой с помощью всего пары строк кода Python. При копировании страниц между объектами PDF создается поверхностная копия исходной страницы в целевом файле PDF, поэтому изменение страниц не повлияет на исходные документы PDF. Также можно заменить определенные страницы пользовательским содержимым. Также можно копировать страницы в определенном PDF-файле.
Открывайте PDF-документы и управляйте ими с помощью Python
# PDF Documents Manipulation
from pikepdf import Pdf
new_pdf = Pdf.new()
with Pdf.open('sample.pdf') as pdf:
pdf.save('output.pdf')
# Copying pages from other PDFs
pdf = Pdf.open('../tests/resources/fourpages.pdf')
appendix = Pdf.open('../tests/resources/sandwich.pdf')
pdf.pages.extend(appendix.pages)
Разделение и слияние PDF с помощью Python
Библиотека PDF PikePDF дает разработчикам программного обеспечения возможность доступа к существующим файлам PDF и легко разделить их на несколько файлов PDF. При разделении PDF все, что нам нужно, это чтобы новые PDF-файлы содержали целевые страницы. Библиотека также обеспечивает передачу данных, связанных с каждой страницей, так что каждая страница существует сама по себе. Библиотека также включает поддержку объединения или объединения нескольких PDF-документов в один. Также можно изменить порядок страниц PDF всего несколькими строками кода.
Разделение и объединение PDF-документов через Python
# PDF Splitting
pdf = Pdf.open('../tests/resources/fourpages.pdf')
for n, page in enumerate(pdf.pages):
dst = Pdf.new()
dst.pages.append(page)
dst.save(f'{n:02d}.pdf')
# Combine Multiple PDF pages into a single One
from glob import glob
pdf = Pdf.new()
for file in glob('*.pdf'):
src = Pdf.open(file)
pdf.pages.extend(src.pages)
pdf.save('merged.pdf')
Управление изображениями внутри PDF-документа через Python
Библиотека PDF PikePDF позволяет разработчикам программного обеспечения легко обрабатывать изображения внутри файла PDF с помощью команд Python. Библиотека включает несколько важных функций, связанных с обработкой изображений, таких как копирование изображений на странице PDF, открытие и просмотр PDF, изменение размера изображений, управление изображениями в PDF, извлечение изображений из PDF, замена изображений, удаление изображения из PDF и многое другое. .
Извлечь изображение и заменить его в PDF через Python
# Extract Image & Replace PDF Images
import zlib
rawimage = pdfimage.obj
pillowimage = pdfimage.as_pil_image()
greyscale = pillowimage.convert('L')
greyscale = greyscale.resize((32, 32))
rawimage.write(zlib.compress(greyscale.tobytes()), filter=Name("/FlateDecode"))
rawimage.ColorSpace = Name("/DeviceGray")
rawimage.Width, rawimage.Height = 32, 32
Обработка метаданных PDF через Python
Метаданные PDF содержат очень полезную информацию о PDF-документе, такую как имя автора, дата создания и изменения, ключевые слова, информация об авторских правах и т. д. Библиотека PDF PikePDF включает полную функциональность для доступа и чтения метаданных, извлечения метаданных, удаления записей метаданных из PDF-документов. В следующем примере кода показано, как извлечь метаданные из документов PDF.
Как извлечь метаданные PDF через Python
# Extract PDF Metadata
import pikepdf
import sys
# get the target pdf file from the command-line arguments
pdf_filename = sys.argv[1]
# read the pdf file
pdf = pikepdf.Pdf.open(pdf_filename)
docinfo = pdf.docinfo
for key, value in docinfo.items():
print(key, ":", value)