DEV Community

SirOnly
SirOnly

Posted on

Extrahieren von Text und Bildern aus PDF-Dokumenten mit Python

PDF-Dokumente können verschiedene spezielle Formatierungen aufweisen, die jedoch schwer zu bearbeiten, kopieren oder durchsuchen sind. Wenn wir den Inhalt eines PDF-Dokuments verarbeiten möchten, können wir den Text und die Bilder aus dem PDF extrahieren und sie entweder mit Tools weiterverarbeiten oder direkt speichern, um sie für andere Zwecke zugänglich zu machen. In diesem Artikel wird erklärt, wie man mit Python Text und Bilder aus PDF-Dateien extrahiert und speichert.

Für die in diesem Artikel verwendete Methode benötigen wir Spire.PDF for Python, das von der offiziellen Website heruntergeladen oder direkt über pip installiert werden kann:

pip install Spire.PDF
Enter fullscreen mode Exit fullscreen mode

Extrahieren von Text aus PDF-Dateien

Die Methode ExtractText kann den gesamten Text einer einzelnen Seite (einschließlich Leerzeichen) extrahieren und als String zurückgeben. Daher müssen wir nur durch die Seiten des Dokuments iterieren, diese Methode verwenden, um den Text jeder Seite zu extrahieren und in eine Textdatei zu schreiben, um den Text aus der PDF-Datei zu extrahieren. Die detaillierten Schritte sind wie folgt:

  • Erstellen Sie eine Instanz der Klasse PdfDocument.
  • Verwenden Sie die Methode PdfDocument.LoadFromFile(), um das PDF-Dokument zu laden.
  • Erstellen Sie eine Textdatei zum Speichern des extrahierten Texts.
  • Iterieren Sie durch die Seiten des Dokuments und verwenden Sie die Methode PdfPageBase.ExtractText(), um den Text der Seite zu erhalten und in die Textdatei zu schreiben.

Python

from spire.pdf import *
from spire.pdf.common import *

# Erstellen eines Objekts der Klasse PdfDocument
pdf = PdfDocument()

# Laden des PDF-Dokuments
pdf.LoadFromFile("Dokument.pdf")

# Erstellen einer TXT-Datei zum Speichern des extrahierten Texts
extractedText = open("output/Extrahierter_Text.txt", "w", encoding="utf-8")

# Iterieren durch die Seiten des Dokuments
for i in range(pdf.Pages.Count):
    # Seite abrufen
    page = pdf.Pages.get_Item(i)
    # Text von der Seite extrahieren
    text = page.ExtractText()
    # Text in die TXT-Datei schreiben
    extractedText.write(text + "\n")

extractedText.close()
pdf.Close()
Enter fullscreen mode Exit fullscreen mode

PDF-Datei

Extrahieren von Text und Bildern aus PDF-Dokumenten mit Python

Extrahierte Ergebnisse

Extrahieren von Text aus PDF-Dateien

Extrahieren von Bildern aus PDF-Dateien

Die Methode zum Extrahieren von Bildern aus PDF-Dateien ähnelt der Methode zum Extrahieren von Text. Sie müssen durch die einzelnen Seiten iterieren, die Methode ExtractImages verwenden, um alle Bilder einer Seite als Liste zurückzugeben, und dann die Bilder in der Liste speichern. Die detaillierten Schritte sind wie folgt:

  • Erstellen Sie eine Instanz der Klasse PdfDocument.
  • Verwenden Sie die Methode PdfDocument.LoadFromFile(), um das PDF-Dokument zu laden.
  • Erstellen Sie eine Liste.
  • Iterieren Sie durch die Seiten des Dokuments und verwenden Sie die Methode PdfPageBase.ExtractImages(), um die Bilder auf der Seite zu erhalten und in die erstellte Liste einzufügen.
  • Speichern Sie die Bilder in der Liste.

Python

from spire.pdf import *
from spire.pdf.common import *

# Erstellen eines Objekts der Klasse PdfDocument
pdf = PdfDocument()

# Laden des PDF-Dokuments
pdf.LoadFromFile("Dokument.pdf")

# Erstellen einer Liste zum Speichern der Bilder
images = []

# Iterieren durch die Seiten des Dokuments
for i in range(pdf.Pages.Count):
    page = pdf.Pages.get_Item(i)
    for img in page.ExtractImages():
        images.append(img)

# Speichern der extrahierten Bilder
i = 0
for image in images:
    i += 1
    image.Save("output/Bilder/Bild-{0:d}.png".format(i), ImageFormat.get_Png())

pdf.Close()
Enter fullscreen mode Exit fullscreen mode

Extrahierte Ergebnisse

Extrahieren von Bildern aus PDF-Dateien

Das war eine Einführung in die Extrahierung von Text und Bildern aus PDF-Dateien mit Spire.PDF for Python. Wenn Sie mehr über die Bearbeitung von PDF-Dateien erfahren möchten, besuchen Sie das Spire.PDF for Python-Tutorial. Sie können auch das Spire.PDF-Forum besuchen, um an Diskussionen teilzunehmen.

Top comments (0)