Heim  >  Artikel  >  Backend-Entwicklung  >  So extrahieren Sie Bilder mit nativer Auflösung aus PDFs mit Python

So extrahieren Sie Bilder mit nativer Auflösung aus PDFs mit Python

Barbara Streisand
Barbara StreisandOriginal
2024-10-22 07:50:03947Durchsuche

How to Extract Native Resolution Images from PDFs Using Python

Extrahieren von Bildern mit nativer Auflösung aus PDFs in Python

Für eine genaue Bildextraktion aus PDFs ist es wichtig, die ursprüngliche Auflösung und das Originalformat beizubehalten Bilder. PyMuPDF bietet eine praktische Lösung für diese Aufgabe.

Importieren Sie zunächst das PyMuPDF-Modul und öffnen Sie die Ziel-PDF-Datei:

<code class="python">import fitz
doc = fitz.open("file.pdf")</code>

Durchlaufen Sie die Seiten und extrahieren Sie die Bilder mit getPageImageList:

<code class="python">for i in range(len(doc)):
    for img in doc.getPageImageList(i):
        xref = img[0]
        pix = fitz.Pixmap(doc, xref)</code>

Je nach Bildtyp schreiben Sie das Bild als PNG oder konvertieren Sie CMYK-Bilder in RGB, bevor Sie es als PNG schreiben:

<code class="python">if pix.n < 5:
            pix.writePNG("p%s-%s.png" % (i, xref))
else:               
            pix1 = fitz.Pixmap(fitz.csRGB, pix)
            pix1.writePNG("p%s-%s.png" % (i, xref))</code>

Hier finden Sie zusätzliche Ressourcen zum Erkunden:

  • [Dokumentation zur PyMuPDF-Bildextraktion](https://pymupdf.readthedocs.io/en/latest/image-extraction.html)
  • [Verbesserte FitZ-Bildextraktion für FitZ 1.19.6]( https://stackoverflow.com/a/74345380)

Mit dieser Python-Lösung können Sie Bilder effizient aus PDFs extrahieren und dabei ihre native Auflösung und ihr natives Format beibehalten, um eine genaue Reproduktion und Analyse zu gewährleisten.

Das obige ist der detaillierte Inhalt vonSo extrahieren Sie Bilder mit nativer Auflösung aus PDFs mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn