Heim  >  Artikel  >  Backend-Entwicklung  >  Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen

Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen

coldplay.xixi
coldplay.xixinach vorne
2020-10-08 17:50:244053Durchsuche

Die Kolumne „

Python-Tutorial“ fasst heute verschiedene Möglichkeiten zusammen, wie Python zum Bearbeiten von PDF-Dateien verwendet werden kann.

Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen

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

  • glob Umfassende Anwendung von Modulen
  • PyPDF2 Modulbetrieb
  • 02
  • Grundlegende Bedienung

PyPDF2 Der Code zum Importieren des Moduls lautet häufig:

from PyPDF2 import PdfFileReader, PdfFileWriter复制代码
Hier werden zwei Methoden importiert:

PdfFileReader

kann als Leser verstanden werden

  • P dfFileWriter Es kann als Schriftsteller verstanden werden
  • Als nächstes werden wir die Wunder dieser beiden Tools anhand mehrerer Fälle besser verstehen. Die verwendeten Beispieldateien sind die PDFs von 5 Rechnungen

Die PDFs jeder Rechnung bestehen aus zwei Seiten: Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen
03

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.
  • Hier ist ein weiterer wichtiger Wissenspunkt : Der Leser kann den gelesenen Inhalt nur Seite für Seite an den Autor übergeben.
  • Daher sind die Schritte 1 und 2 in der Logik tatsächlich
  • keine unabhängigen Schritte
  • Stattdessen geht der Leser, nachdem er ein PDF gelesen hat, alle Seiten des PDFs durch und übergibt sie Seite für Seite an den Autor . Gerät. Warten Sie abschließend, bis alle Lesearbeiten abgeschlossen sind, bevor Sie mit der Ausgabe beginnen.

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

Aufteilen

Wenn Sie die Zusammenarbeit von Lesern und Autoren beim Zusammenführungsvorgang verstehen, ist die Aufteilung leicht zu verstehen. Hier teilen wir

INV1.pdf

in 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 Autor

Der Autor liest sofort jede Seite, nachdem er die Ausgabe erhalten hat

Durch 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

  • Wasserzeichen
  • Dieses Mal besteht die Arbeit darin, das Bild unten als Wasserzeichen zu
  • INV1.pdf hinzuzufügen. Der erste Schritt ist die Vorbereitung.
  • Fügen Sie das Bild, das als Wasserzeichen verwendet werden soll, in Word ein und passen Sie die entsprechende Position an und als PDF-Datei speichern
. Dann können Sie codieren. Sie müssen zusätzlich das Modul

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:

Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen

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

kann nicht direkt zusammengeführt werden

, 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:

am Ende geschrieben Fassen Sie verschiedene Methoden zum Bearbeiten von PDF mit Python zusammen
Zusätzlich zum Zusammenführen, Teilen, Verschlüsseln und Wasserzeichen von

PDF

können wir natürlich auch

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-Tutorial

(Video)

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen