Open Source Python Library for å behandle PDF-filer
Gratis Python API tillater linearisering av PDF-er og tilgang til krypterte PDF-er. Den støtter PDF-oppretting fra bunnen av, kopiering av sider fra én PDF-fil til en annen, delt eller slå sammen PDF-er og mange flere.
PikePDF er et veldig enkelt Python PDF-bibliotek som lar programvareutviklere jobbe med PDF-filer i Python-applikasjoner. Den er basert på QPDF, et kraftig PDF-manipulerings- og reparasjonsbibliotek. PikePDF er et PDF-innholdstransformasjonsbibliotek og gir tilgang på lavt nivå til PDF-filer. Dette betyr at brukere trenger kjennskap til interne PDF-filer og kjennskap til PDF-spesifikasjoner. Biblioteket er åpen kildekode og er tilgjengelig under MIT-lisensen for offentlig bruk. Biblioteket er åpen kildekode og er tilgjengelig under MPL-2.0-lisensen.
PikePDF gir støtte for linearisering av PDF-er og tilgang til krypterte PDF-er. Den har inkludert et veldig kraftig sett med funksjoner relatert til PDF-administrasjon som PDF-oppretting fra bunnen av, kopiere sider fra én PDF-fil til en annen, splitte eller slå sammen PDF-er, bilde- eller tekstutvinning fra PDF, erstatte innhold i PDF, PDF-reparasjonsstøtte, side innstillingsstøtte, administrer PDF-metadata, arbeid med passordbeskyttet, PDF XMP-metadataredigering, transformasjon av eksisterende PDF-er og mye mer.
.
Komme i gang med PikePDF
PikePDF krever Python 3.6 og høyere. Du kan installere PikePDF ved å bruke pip. Bruk følgende kommando for å installere den.
Installer PikePDF via pip
pip install pikepdf
Kopier sider fra én PDF-fil til en annen via Python
PikePDF-biblioteket med åpen kildekode gir muligheten som gjør det mulig for programvareutviklere å kopiere side fra én PDF-fil til en annen med bare et par linjer med Python-kode. Kopiering av sider mellom PDF-objekter vil lage en grunn kopi av kildesiden i mål-PDF-filen, og endring av sidene vil derfor ikke påvirke de originale PDF-dokumentene. Det er også mulig å erstatte spesifikke sider med tilpasset innhold. Det er også mulig å kopiere sider innenfor en bestemt PDF.
Åpne og manipuler PDF-dokumenter via 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-splitting og sammenslåing via Python
PDF PikePDF-biblioteket gir programvareutviklere muligheten til å få tilgang til eksisterende PDF-filer og enkelt dele dem opp i flere PDF-filer. Når vi deler opp PDF, trenger vi bare at de nye PDF-ene må inneholde målsidene. Biblioteket sørger også for å overføre data knyttet til hver side, slik at hver side står for seg selv. Biblioteket inkluderte også støtte for å slå sammen eller sette sammen flere PDF-dokumenter til ett enkelt. Det er også mulig å snu rekkefølgen på PDF-sidene med bare et par linjer med kode.
Del og slå sammen PDF-dokumenter via 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')
Administrer bilder i PDF-dokument via Python
PDF PikePDF-biblioteket gjør det enkelt for programvareutviklere å håndtere bilder inne i en PDF-fil ved hjelp av Python-kommandoer. Biblioteket har inkludert flere viktige funksjoner knyttet til bildehåndtering som å kopiere bilder på PDF-side, åpne og vise PDF, endre størrelse på bilder, manipulere bilder i en PDF, trekke ut bilder fra PDF, erstatte bilder, slette et bilde fra PDF og mye mer .
Pakk ut bilde og erstatt det i PDF via 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-metadatahåndtering via Python
PDF-metadata inkluderer svært nyttig informasjon om et PDF-dokument, for eksempel forfatterens navn, dato for opprettelse og endring, nøkkelord, informasjon om opphavsrett og så videre. PDF PikePDF-biblioteket har inkludert komplett funksjonalitet for å få tilgang til og lese metadata, trekke ut metadata, slette metadataoppføringer fra PDF-dokumenter. Følgende kodeeksempel viser hvordan du trekker ut metadata fra PDF-dokumenter.
Hvordan trekke ut PDF-metadata via 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)