Bilder aus pdf in python extrahieren

Bilder werden häufig in PDF Dokumenten zusammen mit Text verwendet, wodurch der Inhalt ansprechender und ausführlicher wird. Während der Verarbeitung und Analyse der PDF Dokumente müssen Sie möglicherweise auch Bilder extrahieren. Daher zeigen wir in diesem Artikel, wie Sie PDF Dateien verarbeiten und Bilder programmgesteuert in Python extrahieren. Die Schritt-für-Schritt-Anleitung und das Codebeispiel demonstrieren den gesamten Bildextraktionsprozess.

Python Bibliothek zum Extrahieren von Bildern aus PDF

Um Bilder aus einer PDF-Datei zu extrahieren, verwenden wir Aspose.Words for Python. Es ist eine leistungsstarke und funktionsreiche Bibliothek zum Erstellen und Bearbeiten von Textdokumenten, einschließlich PDF und DOCX. Sie können die Bibliothek von PyPI mit dem folgenden Pip-Befehl installieren.

> pip install aspose-words

Schritte zum Extrahieren von Bildern aus PDF

Mit Aspose.Words for Python können Sie die Bilder in wenigen einfachen Schritten aus einer PDF-Datei extrahieren. Im Folgenden finden Sie den Arbeitsablauf zum Extrahieren von Bildern aus einer PDF-Datei mit Aspose.Words for Python.

  • Laden Sie die PDF-Datei vom gewünschten Ort.
  • Konvertieren Sie PDF in das DOCX-Format.
  • Verarbeiten Sie die DOCX-Version von PDF und extrahieren Sie Bilder
  • Speichern Sie jedes Bild als Datei am gewünschten Ort.

Der folgende Abschnitt zeigt, wie Sie die oben genannten Schritte in Python-Code umwandeln und Bilder aus einem PDF extrahieren.

Bilder aus PDF in Python extrahieren

Bei der Bildextraktion konvertieren wir zunächst die PDF-Datei in das DOCX-Format. In einer DOCX-Datei werden die Bilder durch die Formknoten dargestellt. Daher werden wir jede Form verarbeiten und daraus das Bild extrahieren.

Im Folgenden sind die Schritte zum Extrahieren von Bildern aus einer PDF-Datei in Python aufgeführt.

  • Laden Sie zunächst die PDF-Datei mit der Document Klasse.
  • Speichern Sie dann PDF im DOCX-Format und laden Sie die DOCX-Version der PDF-Datei.
  • Rufen Sie alle Formen mithilfe der Methode Document.getchildnodes(NodeType.SHAPE, True) in ein Objekt ab.
  • Durchlaufen Sie die Formen und führen Sie die folgenden Operationen für jeden Formknoten aus:
    • Wandeln Sie die Form mit der Methode asshape() in den Shape-Typ um.
    • Verwenden Sie die Methode Shape.hasimage(), um zu prüfen, ob die Form ein Bild hat.
    • Extrahieren Sie das Bild aus der Form und speichern Sie es mit der Methode Shape.imagedata.save(string).

Das folgende Codebeispiel veranschaulicht die Bildextraktion aus einem PDF Dokument in Python.

# Importieren Sie Aspose.Words für das Python-Modul
import aspose.words as aw

# Laden Sie die PDF-Datei und konvertieren Sie sie in das Word-DOCX-Format
pdf = aw.Document("document.pdf")
pdf.save("pdf.docx")

# Laden Sie die DOCX-Version von PDF
doc = aw.Document("pdf.docx")

# Abrufen aller Formen
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0

# Loop durch Formen
for shape in shapes :
    shape = shape.as_shape()
    if (shape.has_image) :

        # den Namen der Bilddatei festlegen
        imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"

        # Bild speichern
        shape.image_data.save(imageFileName)
        imageIndex += 1

Python PDF bildextraktionsbibliothek - Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Bilder ohne Evaluierungseinschränkungen aus PDF zu extrahieren.

Fazit

Bei der Analyse der PDF Dokumente müssen neben dem Text auch Bilder extrahiert werden. In diesem Artikel haben Sie gelernt, wie Sie Bilder aus einem PDF in Python extrahieren. Sie können einfach Aspose.Words for Python installieren und die Bildextraktion in Ihre Anwendungen integrieren.

Erkunden Sie die PDF bildextraktionsbibliothek von Aspose

Aspose.Words for Python bietet eine Reihe weiterer Funktionen zur Bearbeitung von Textdokumenten. Sie können die Dokumentation aufrufen, um mehr über die Bibliothek zu erfahren. Falls Sie Fragen haben, können Sie uns diese gerne über unser Forum mitteilen.

Siehe auch