Heim > Artikel > Backend-Entwicklung > Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen
Die Kolumne „
Python-Tutorial“ fasst heute verschiedene Möglichkeiten zusammen, wie Python zum Bearbeiten von PDF-Dateien verwendet werden kann.
01
Vorwort
Hallo zusammen, ich habe bereits einen Fall über die Funktionsweise von PDF?PDF-Batch-Merge geschrieben. und es gibt nichts zu Kompliziertes. Erklären Sie mehr über das Prinzip, das ein sehr praktisches Modul für die PDF-Verarbeitung PyPDF2 beinhaltet. In diesem Artikel wird dieses Modul sorgfältig analysiert, wobei es hauptsächlich um die umfassende Anwendung von Modulen geht
from PyPDF2 import PdfFileReader, PdfFileWriter复制代码Hier werden zwei Methoden importiert: PdfFileReader
kann als Leser verstanden werden
Zusammenführen
Die erste Aufgabe besteht darin, 5 Rechnungs-PDFs auf 10 Seiten zusammenzuführen. Wie sollen hier Leser und Autor zusammenarbeiten? Die Logik ist wie folgt:
Der Leser liest alle PDFs einmal.
Der Leser übergibt den gelesenen Inhalt an den Autor. Der Autor gibt ihn einheitlich in einem neuen PDF aus.Ein Blick auf den Code kann die Idee klarer machen:
from PyPDF2 import PdfFileReader, PdfFileWriter path = r'C:\Users\xxxxxx' pdf_writer = PdfFileWriter() for i in range(1, 6): pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i)) for page in range(pdf_reader.getNumPages()): pdf_writer.addPage(pdf_reader.getPage(page)) with open(path + r'\合并PDF\merge.pdf', 'wb') as out: pdf_writer.write(out)复制代码
Da der gesamte Inhalt an denselben Autor übergeben und schließlich gemeinsam ausgegeben werden muss, muss die Initialisierung des Autors außerhalb des Schleifenkörpers erfolgen.Wenn ja in der Schleife Im Textkörper wird „Jedes Mal, wenn auf ein PDF zum Lesen zugegriffen wird, ein neuer Autor“ generiert, sodass der von jedem Leser an den Autor übergebene Inhalt „wiederholt überschrieben“ wird, was dies unmöglich macht Erfüllen Sie unsere Zusammenführungsanforderungen! Tatsächlich ist diese Schreibweise nicht sehr empfehlenswert, da die Benennung jedes PDFs sehr regelmäßig ist. Sie können die Nummern für die Schleife direkt angeben. Eine bessere Möglichkeit ist die Verwendung des
glob-Moduls:
for i in range(1, 6): pdf_reader = PdfFileReader(path + '/INV{}.pdf'.format(i))复制代码
Im Code
pdf_reader.getNumPages():kann die Anzahl der Seiten im Reader ermittelt werden, und mit range kann es alle Seiten im Reader durchlaufen.
pdf_writer.addPage(pdf_reader.getPage(page))kann die aktuelle Seite an den Autor übergeben.
Verwenden Sie abschließend with, um ein neues PDF zu erstellen und es über die Methode
pdf_writer.write(out)des Writers auszugeben. 04
AufteilenWenn Sie die Zusammenarbeit von Lesern und Autoren beim Zusammenführungsvorgang verstehen, ist die Aufteilung leicht zu verstehen. Hier teilen wir
INV1.pdfin zwei separate Teile auf. Nehmen wir das PDF-Dokument als Beispiel. Lassen Sie uns auch zunächst die Logik durchgehen: Der Leser liest das PDF-Dokument
Der Leser übergibt es Seite für Seite an den AutorDer Autor liest sofort jede Seite, nachdem er die Ausgabe erhalten hatDurch diese Codelogik Wir können auch verstehen, dass die Initialisierungs- und Ausgabepositionen des Writers innerhalb des Schleifenkörpers jeder Seite der PDF-Leseschleife liegen müssen, nicht außerhalb der Schleife
Der Code ist sehr einfach: import glob
for file in glob.glob(path + '/*.pdf'):
pdf_reader = PdfFileReader(path)复制代码
05
copy
verwenden. Die spezifische Erklärung ist in der Abbildung unten dargestellt: besteht darin, zuerst den Reader und Writer zu initialisieren und die mit Wasserzeichen versehene PDF-Seite für die spätere Verwendung zu lesen. Der Kern des Codes ist etwas schwieriger zu verstehen: Das Hinzufügen von Wasserzeichen bedeutet im Wesentlichen das Zusammenführen der mit Wasserzeichen versehenen PDF-Seite und jeder Seite, die mit einem Wasserzeichen versehen werden muss Da die PDF-Datei, die mit einem Wasserzeichen versehen werden muss, möglicherweise viele Seiten hat und die mit Wasserzeichen versehene PDF-Datei nur eine Seite hat, wenn Sie also direkt hinzufügen Beim Zusammenführen von mit Wasserzeichen versehenen PDFs kann abstrakt verstanden werden, dass nach dem Hinzufügen der ersten Seite die mit Wasserzeichen versehene PDF-Seite verschwunden ist. Deshalb , aber die mit Wasserzeichen versehenen PDF-Seiten müssen kontinuierlich in eine neue Seite zur späteren Verwendung new_page kopiert werden und dann die Methode .mergePage verwenden, um die Zusammenführung mit jeder Seite abzuschließen. und die zusammengeführten PDF-Seiten zusammenführen. Die Seite wird dem Autor zur endgültigen einheitlichen Ausgabe übergeben! Über die Verwendung von .mergePage Erscheint auf der Seite unten.mergePage (erscheint auf der Seite oben), der endgültige Effekt ist wie in der Abbildung dargestellt: 06 Verschlüsselung Die Verschlüsselung ist sehr einfach. Denken Sie daran: „Verschlüsselung dient der Schreibverschlüsselung“ Sie müssen also nur pdf_writer.encrypt (Passwort) aufrufen Der entsprechende Vorgang ist abgeschlossen Ein einzelnes PDF verschlüsseln, als Beispiel: Python verwenden, um Kombinieren Sie Excel und Word, um mehr Automatisierungsanforderungen zu erfüllen , diese müssen die Leser selbst entwickeln. Python-Ressourcenfreigabe Junyang 1075110200, die Installationspakete, PDFs und Lernvideos enthält. Dies ist ein Treffpunkt für Python-Lernende, sowohl Anfänger als auch Fortgeschrittene sind willkommenAbschließend hoffe ich, dass jeder einen der Kernaspekte von Python verstehen kann Büroautomation Batch-Operationen – Befreien Sie Ihre Hände und automatisieren Sie komplexe Arbeiten! Weitere verwandte kostenlose Lernempfehlungen: Python-TutorialPDF
können wir natürlich auch
Das obige ist der detaillierte Inhalt vonFassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!