PyPDF2 PDF-Verarbeitung mit Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

PDF-Dateien mit Python bearbeiten: Das umfassende PyPDF2-Tutorial

PDF ist eines der beliebtesten Formate für elektronische Dokumente. Doch Operationen wie Zusammenführen, Teilen, Verschlüsseln oder Textextraktion erfordern zuverlässige Werkzeuge. In Python ist PyPDF2 eine der bekanntesten und stabilsten Bibliotheken für die Arbeit mit PDF-Dateien.

Mit PyPDF2 können Entwickler PDF-Dateien lesen, bearbeiten und erstellen, Metadaten auslesen, Seiten verwalten, Schutzmechanismen hinzufügen und sogar Wasserzeichen einbetten. Es ist ein leistungsstarkes Tool sowohl für die Dokumentenautomatisierung als auch für die Integration in andere Dienste.

Was ist PyPDF2?

PyPDF2 ist eine Python-Bibliothek für die Arbeit mit PDF-Dateien, die als verbesserte Version der ursprünglichen PyPDF-Bibliothek entwickelt wurde. Sie bietet eine benutzerfreundliche API zum Lesen, Schreiben und Modifizieren von PDF-Dokumenten, ohne dass Kenntnisse der internen PDF-Struktur erforderlich sind.

Hauptfunktionen der Bibliothek

  • Lesen und Extrahieren von Text aus PDF-Dateien
  • Zusammenführen mehrerer PDF-Dokumente
  • Aufteilen von PDFs in einzelne Seiten
  • Hinzufügen von Wasserzeichen und Seitenüberlagerungen
  • Verschlüsseln und Entschlüsseln von PDF-Dateien
  • Arbeiten mit Dokument-Metadaten
  • Drehen und Skalieren von Seiten
  • Verwaltung von Lesezeichen und Inhaltsverzeichnissen

Installation von PyPDF2

Die Installation der Bibliothek erfolgt über pip:

pip install PyPDF2

Für einen stabileren Betrieb empfiehlt sich die Installation zusätzlicher Abhängigkeiten:

pip install PyPDF2[crypto]

Wichtige Klassen und Komponenten

PdfReader

Die Klasse PdfReader dient zum Lesen von PDF-Dateien. Sie bietet Zugriff auf Seiten, Metadaten und andere Dokumentinformationen.

PdfWriter

Die Klasse PdfWriter wird zum Erstellen neuer oder zum Modifizieren vorhandener PDF-Dateien verwendet. Sie ermöglicht das Hinzufügen von Seiten, das Anwenden von Verschlüsselung und das Ändern von Metadaten.

PdfMerger

Die Klasse PdfMerger ist speziell für das Zusammenführen mehrerer PDF-Dateien in ein einziges Dokument mit anpassbarer Seitenreihenfolge ausgelegt.

Grundlegende PDF-Operationen

PDF-Dateien lesen

from PyPDF2 import PdfReader

# PDF-Datei laden
reader = PdfReader("beispiel.pdf")

# Anzahl der Seiten ermitteln
print(f"Seitenanzahl: {len(reader.pages)}")

# Text von der ersten Seite extrahieren
erste_seite = reader.pages[0]
text = erste_seite.extract_text()
print(text)

Text von allen Seiten extrahieren

from PyPDF2 import PdfReader

reader = PdfReader("beispiel.pdf")
vollstaendiger_text = ""

for seiten_nummer, seite in enumerate(reader.pages):
    text = seite.extract_text()
    vollstaendiger_text += f"--- Seite {seiten_nummer + 1} ---\n{text}\n\n"

print(vollstaendiger_text)

Dokumentinformationen prüfen

from PyPDF2 import PdfReader

reader = PdfReader("beispiel.pdf")

# Prüfen auf Verschlüsselung
if reader.is_encrypted:
    print("Datei ist verschlüsselt")
else:
    print("Datei ist nicht verschlüsselt")

# Größe der ersten Seite ermitteln
seite = reader.pages[0]
print(f"Seitengröße: {seite.mediabox}")
print(f"Drehung: {seite.rotation} Grad")

PDF-Dateien zusammenführen

Einfaches Zusammenführen

from PyPDF2 import PdfMerger

merger = PdfMerger()

# Dateien hinzufügen
merger.append("datei1.pdf")
merger.append("datei2.pdf")
merger.append("datei3.pdf")

# Ergebnis speichern
merger.write("zusammengefuehrtes_dokument.pdf")
merger.close()

Zusammenführen mit Seitenbereichsangabe

from PyPDF2 import PdfMerger

merger = PdfMerger()                    

Empfehlungen