Бібліотека Python з відкритим кодом для обробки PDF-файлів
Безкоштовний API Python дозволяє лінеаризувати 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)