Βιβλιοθήκη Python ανοιχτού κώδικα για επεξεργασία αρχείων PDF
Το Free 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)