Bilder aus PDFs extrahieren

Wenn Sie ein Bild aus einer PDF-Datei extrahieren müssen

Inhaltsverzeichnis

Manchmal besteht ein echter Bedarf, ein Bild aus einem PDF-Datei zu speichern, ohne es zu screenshoten oder das PDF auf dem Bildschirm zu rendern.
pdfimages hilft dabei.

Ein Comic-Bild eines Mannes, der ein Foto des Diagramms auf dem Bildschirm macht

Um Bilder aus einer PDF-Datei unter Linux zu extrahieren, ist das am häufigsten verwendete und effektivste Werkzeug die Befehlszeilen-Utility pdfimages,
welches Teil des poppler-utils Pakets ist.

Verwenden Sie die pdfimages Utility in Linux: Schritt-für-Schritt-Anweisungen

1. Installieren Sie pdfimages (falls noch nicht installiert):

Die meisten Linux-Distributionen enthalten pdfimages standardmäßig. Falls erforderlich, installieren Sie es mit Ihrem Paket-Manager:

sudo apt-get install poppler-utils

oder für Fedora:

sudo dnf install poppler-utils

2. Öffnen Sie ein Terminal:

Drücken Sie Ctrl + Alt + T, um ein Terminalfenster zu öffnen.

3. Führen Sie pdfimages aus, um Bilder zu extrahieren:

Grundlegende Syntax:

pdfimages  

Beispiel:

pdfimages /path/to/file.pdf /path/to/output/image
  • Dies extrahiert alle Bilder aus file.pdf und speichert sie als image-000.ppm, image-001.ppm usw. im angegebenen Ausgabeverzeichnis.

4. Bilder als JPEG extrahieren (falls gewünscht):

Um Bilder im JPEG-Format (wenn möglich) zu extrahieren, verwenden Sie die Option -j:

pdfimages -j /path/to/file.pdf /path/to/output/image
  • Dies speichert JPEG-Bilder als .jpg-Dateien.

5. Bilder aus bestimmten Seiten extrahieren:

  • Um Bilder aus einem Bereich von Seiten zu extrahieren, verwenden Sie -f (erste Seite) und -l (letzte Seite):
pdfimages -f 2 -l 5 -j /path/to/file.pdf /path/to/output/image
  • Dies extrahiert Bilder aus den Seiten 2 bis 5.

6. Zusätzliche Optionen:

  • Um Bilder als PNG zu extrahieren: verwenden Sie -png (wenn von Ihrer Version unterstützt).
  • Für passwortgeschützte PDFs: verwenden Sie -opw 'ownerpassword' oder -upw 'userpassword'.

Hinweise

  • Das Standardausgabeformat ist PPM (Farbe) oder PBM (Schwarz-Weiß). Verwenden Sie -j für JPEG, oder konvertieren Sie PPM/PBM-Dateien in andere Formate mit Tools wie convert von ImageMagick, wenn erforderlich.
  • Die Ausgabedateien werden automatisch nummeriert und im angegebenen Verzeichnis gespeichert.

Zusammenfassungstabelle

Befehlsbeispiel Beschreibung
pdfimages input.pdf image Extrahiert alle Bilder im Standardformat PPM/PBM
pdfimages -j input.pdf image Extrahiert Bilder als JPEG, wenn möglich
pdfimages -f 3 -l 5 input.pdf image Extrahiert Bilder aus den Seiten 3 bis 5
pdfimages -opw 'password' -j input.pdf image Extrahiert Bilder aus einem PDF mit Eigentümerpasswort

Dieser Ansatz ist effizient und funktioniert für die meisten PDFs, die eingebettete Bilder enthalten. Aber:

  • pdfimages extrahiert Bilder nur in ihrer ursprünglichen Auflösung.
  • Um die Ausgabebildauflösung zu kontrollieren, verwenden Sie eine PDF-Rendering-Bibliothek oder -tool wie PyMuPDF und geben Sie die gewünschte DPI an, wenn das Bild erstellt wird.

Wie man Bilder aus einem PDF mit einer bestimmten Auflösung speichert.

Sie können die Auflösung der extrahierten Bilder nicht festlegen, wenn Sie pdfimages verwenden, da dieses Tool eingebettete Bilder in ihrem ursprünglichen Format und ihrer ursprünglichen Auflösung extrahiert, ohne Resampling oder Qualitätsveränderungen. Die Auflösung wird bestimmt, wie die Bilder im PDF gespeichert wurden, und pdfimages bietet keine Option, um während der Extraktion zu vergrößern oder zu verkleinern.

Wenn Sie Bilder mit einer bestimmten Auflösung extrahieren möchten (z. B. eine Seite oder einen Teil einer Seite als Bild mit einer gewählten DPI zu rendern), müssen Sie eine PDF-Rendering-Bibliothek oder -tool wie PyMuPDF (fitz) verwenden. Mit PyMuPDF können Sie die gewünschte Auflösung mithilfe des dpi-Parameters festlegen, wenn Sie eine Seite in ein Bild rendern:

import fitz  # PyMuPDF
doc = fitz.open("input.pdf")
page = doc.load_page(0)  # erste Seite
pix = page.get_pixmap(dpi=300)  # rendern bei 300 DPI
pix.save("output.png")

Dieser Ansatz erstellt ein gerastertes Bild der Seite bei der angegebenen DPI, anstatt die ursprünglich eingebetteten Bilder zu extrahieren.

Andere Tools zur Extraktion von Bildern aus PDFs

Die beste Software zur Extraktion von Bildern aus PDFs ohne Verlust der Auflösung sind diejenigen, die die ursprünglich eingebetteten Bilder direkt extrahieren, anstatt sie zu rendern oder zu resamplen. Die besten Optionen sind:

  • Adobe Acrobat Pro: Bietet eine dedizierte „Export All Images“-Funktion, die Bilder in ihrer ursprünglichen Qualität und Format als separate Dateien extrahiert. Dieser Ansatz ist sehr zuverlässig und bewahrt die exakte Auflösung und Qualität der Bilder, wie sie im PDF gespeichert sind.

  • pdfimages (aus der XPDF/Poppler Suite): Ein kostenloses, Open-Source-Befehlszeilen-Tool, das auf Linux und anderen Plattformen verfügbar ist. pdfimages extrahiert alle Bilder aus einem PDF in ihrem ursprünglichen Format und Auflösung, einschließlich Unterstützung für JPEG, JPEG2000 und andere Formate. Es wird häufig empfohlen, wenn ein kostenloser, hochwertiger Extraktionsprozess gewünscht ist.

  • Online-Tools (z. B. PDF24 Tools, PDFCandy, pdfforge): Diese Dienste ermöglichen das Hochladen eines PDF und das Herunterladen der extrahierten Bilder, wobei die ursprüngliche Auflösung beibehalten wird. Sie sind für schnelle Aufgaben praktisch und benötigen keine Installation, können aber bei sensiblen Dokumenten Datenschutzbedenken auslösen.

Zusammenfassungstabelle

Software/Tool Plattform Erhält ursprüngliche Auflösung Hinweise
Adobe Acrobat Pro Windows/Mac Ja Bezahlbar, professionell, sehr zuverlässig
pdfimages (Poppler) Linux/Windows Ja Kostenlos, Open-Source, Befehlszeilen-Utility
PDF24 Tools, PDFCandy Web-basiert Ja Kostenlos, einfach zu verwenden, Datenschutzbedenken

Hauptpunkt:
Verwenden Sie immer Tools, die extrahieren (nicht rendern oder screenshoten) die Bilder. Sowohl Adobe Acrobat Pro als auch pdfimages sind Branchenstandards für diesen Zweck, wodurch die Bilder exakt so gespeichert werden, wie sie im PDF existieren, ohne Verlust der Auflösung.

pdfutils Befehlszeilenoptionen

Wenn Sie pdfimages /help ausführen, wird etwas wie Folgendes ausgegeben:

$ pdfimages /help
pdfimages version 24.02.0
Copyright 2005-2024 The Poppler Developers - http://poppler.freedesktop.org
Copyright 1996-2011, 2022 Glyph & Cog, LLC
Usage: pdfimages [options] <PDF-file> <image-root>
  -f <int>       : erste Seite zu konvertieren
  -l <int>       : letzte Seite zu konvertieren
  -png           : ändert das Standardausgabeformat auf PNG
  -tiff          : ändert das Standardausgabeformat auf TIFF
  -j             : JPEG-Bilder als JPEG-Dateien schreiben
  -jp2           : JPEG2000-Bilder als JP2-Dateien schreiben
  -jbig2         : JBIG2-Bilder als JBIG2-Dateien schreiben
  -ccitt         : CCITT-Bilder als CCITT-Dateien schreiben
  -all           : äquivalent zu -png -tiff -j -jp2 -jbig2 -ccitt
  -list          : Liste der Bilder ausgeben, anstatt sie zu speichern
  -opw <string>  : Eigentümerpasswort (für verschlüsselte Dateien)
  -upw <string>  : Benutzerpasswort (für verschlüsselte Dateien)
  -p             : Seitennummern in den Ausgabedateinamen einfügen
  -q             : keine Nachrichten oder Fehler ausgeben
  -v             : Urheberrechts- und Versionsinformation ausgeben
  -h             : Verwendungsinformation ausgeben
  -help          : Verwendungsinformation ausgeben
  --help         : Verwendungsinformation ausgeben
  -?             : Verwendungsinformation ausgeben