Extrahieren eingebetteter Bilder aus einem PDF

165

Bevor ich mit Ubuntu angefangen habe, habe ich Nitro PDF Reader verwendet, um Bilder automatisch aus PDF-Dateien zu extrahieren. Gibt es einen PDF-Reader für Linux, der dies tut?

Ich möchte Bilder schneller / einfacher extrahieren können als beim Aufnehmen eines Schnappschusses.

1kb
quelle
Können Sie sich erinnern, wie gut NitroPDF mit Vektorgrafiken umgehen kann? Kann pdfimageses besser / schlechter machen als NitroPDF?
Léo Léopold Hertz 준영
2
Möglicherweise ein Duplikat des Befehlszeilentools, um Bilder aus einem PDF-Dokument zu extrahieren?
Funky-Future
2
@ funky-future Natürlich sind die beiden Fragen Duplikate, aber Ihr Duplikat hat nur zwei Antworten und eine dieser beiden Antworten ist eine Spam-Antwort. Daher sollte die Richtung der Duplizierung umgekehrt werden, um zu verhindern, dass diese Frage vom Duplikathammer gehämmert wird.
Karl

Antworten:

197

Verwenden pdfimages

pdfimages ist ein Tool zum Extrahieren von PDF-Bildern, mit dem Bilder in einer PDF-Datei in den Formaten PPM, PBM, JPEG oder JPEG 2000 gespeichert werden.

Es ist ein Teil des poppler-utilsPakets, das Sie installieren müssen.

Verwendungszweck: pdfimages [options] <PDF-file> <image-root>

Beispiel: Im Folgenden werden alle Bilder aus einer PDF-Datei extrahiert und im JPEG-Format gespeichert.

pdfimages -j in.pdf /tmp/out

Speichert Bilder aus PDF-Dateien in.pdfin Dateien /tmp/out-000.jpg(oder /tmp/out-000.pbm; siehe unten) /tmp/out-001.jpgusw.


Die pdfimages- Manpage erklärt:

-j:  Normally, all images are written as PBM (for monochrome images) or PPM for
     non-monochrome images) files. With this option,  images in DCT format are
     saved as JPEG files. All non-DCT images are saved in PBM/PPM format as usual.
pl1nk
quelle
8
Wäre schön, eine Lösung zu haben, die Bilder im nativen Format extrahiert. Das Neukodieren von JPEGs ist nicht wirklich ideal.
Christian
32
@ Christian von Manpage-all Write JPEG, JPEG2000, JBIG2, and CCITT images in their native format. CMYK files are written as TIFF files. All other images are written as PNG files. This is equivalent to specifying the options -png -tiff -j -jp2 -jbig2 -ccitt.
Wil93
2
Bitte beachten Sie, dass der -allSchalter nur in den letzten Versionen von Poppler-Utils unterstützt wird. Wenn Sie beispielsweise noch am 12.04. Sind, können Sie nicht auf diese Option zugreifen
Glutanimate
1
Wenn Sie nicht verwenden können -all, wählen Sie die PNM-Formate. Sie sind verlustfrei und Sie können die Bilder zB in PNG nachbearbeiten.
Tomasz Gandor
1
@Christian, verwenden Sie diese Option, $ pdfimages -list <PDF-file>um das Originalformat in der Spalte "enc" zu überprüfen, damit Sie das Bild nicht in ein anderes Format umcodieren müssen.
Jose Barakat
24

Ich benutze oft Inkscape dafür. Lade die Seite und lösche alle anderen Sachen. Der Vorteil ist, dass Sie Vektorgrafiken in SVG abrufen und nach Belieben bearbeiten können.

Gremlin
quelle
Einige PDF-Dateien können nur mit dem internen Inkscape-Import ordnungsgemäß importiert werden (Poppler / Cairo-Import oder PDF-Bild kann nicht ordnungsgemäß analysiert werden). Kopieren Sie das importierte Bild und fügen Sie es in eine neue Datei ein. Passen
Sie die
Für mich kein Problem, das war die beste Lösung, beachten Sie, dass Sie jeweils eine Seite auswählen müssen!
Jimmy Olano
5

Ich habe eine zweispaltige PDF-Datei mit eingebetteten Bildern, die mit LaTeX erstellt wurden, wobei die Originalbilder als EPS bereitgestellt wurden. Ich habe versucht, die vorgeschlagene Lösung basierend auf pdfimages, aber leider keine Bilder zurück. Ich habe damals versucht, Inkscape zu verwenden, aber die erzeugten SVG-Bilder waren verzerrt und ich hatte auch kein Glück, sie als EPS zu exportieren.

Die Software, die für uns funktioniert hat, war der MasterPdfEditor .

Hier ist der Ablauf

  • Öffnen Sie Ihre Datei mit dem Master PDF Editor
  • Verwenden Sie das Bearbeitungswerkzeug (Alt + 1), um das zu extrahierende Bild auszuwählen
  • Kopieren Sie die Figur (Strg + C)
  • Klicken Sie auf den umliegenden gestrichelten Rahmen um das Bild und überprüfen Sie die rechte Seitenleiste (Objektinspektor) und klicken Sie auf "Geomerty". Dort sehen Sie die Größe Ihrer Auswahl
  • Erstellen Sie eine neue Datei (Strg + N). Sie werden aufgefordert, die Seitengröße anzugeben. Geben Sie die genaue Größe Ihres Bildes an und erstellen Sie die neue Datei
  • Jetzt ist es etwas knifflig: Füge das Bild ein (Strg + V). Das Bild wird möglicherweise nicht in der neuen Datei angezeigt. Verwenden Sie die Pfeile, um es zu verschieben, bis Sie es verfolgen können.
  • Verwenden Sie die Pfeile, um das Bild auf der neuen Seite zu zentrieren
  • Als PDF speichern

Das Ergebnis ist von sehr hoher Qualität, aber die Software ist nicht kostenlos. Es gibt eine Demoversion, in der "alle Funktionen ausprobiert werden können", in der jedoch "ein Wasserzeichen für die Ausgabedatei hinzugefügt wird". Um ehrlich zu sein, habe ich kein Wasserzeichen im erstellten PDF bemerkt.

Pantelis Sopasakis
quelle
Dies ist Ask Ubuntu ... Wir mögen Open Source hier und Ihre Lösung ist eine kommerzielle Closed-Source-Lösung ... Wie ist dies besser als die bereits überstimmten Antworten? (-1 in der Zwischenzeit)
Fabby
3
@ Fabby Danke für das Feedback. Ich wusste es nicht. Gibt es eine solche Regel auf askubuntu.com? Sobald Sie jedoch das Ubuntu-Software-Center öffnen , erhalten Sie Vorschläge für nicht kostenlose Anwendungen.
Pantelis Sopasakis
Nein, es gibt keine "Regel" und deshalb habe ich nicht dafür gestimmt, diese Antwort zu löschen, aber es gibt bessere Tools, die kostenlos sind (wie bei Freibier und Redefreiheit). Das ist also nur eine Meinung.
Fabby
1
+1. Ich habe die ImageMagick-Befehlszeile verwendet, aber dies ist eine interessante Lösung für jemanden, der eine GUI sucht.
rpmcruz
2
Es funktioniert für einige Leute, das ist gut genug. Sei kein Nazi ... Ich weiß nicht, wer "wir" sind. Sie können nur für sich selbst sprechen. +1 für die Antwort
sdaffa23fdsf
4

Sie können auch pdfmod ausprobieren. Es ist eine grafische Benutzeroberfläche, die Bilder extrahieren und andere grundlegende PDF-Manipulationen durchführen kann.

Machen
quelle
Hmm, kommt mir etwas buggy vor. Fügte ein PDF mit hauptsächlich violetten Bildern ein und erhielt grünliche Bilder.
DBX12,
2

Wenn Sie ein zugeschnittenes Bild im PDF / EPS-Format benötigen, extrahieren Sie eine Seite mit dem Bild mithilfe von pdfmod(wie von Aufgabe vorgeschlagen).

Wenn pdfcropSie es dann verwenden , können Sie es zuschneiden und die Ränder durch Ausprobieren richtig einstellen:

pdfcrop --margins "-15 -50 0 -140" extracted_page.pdf
macieksk
quelle
1

Ich verwende pdfimages, ein Kommandozeilen-Tool, das für mich großartig funktioniert. Es ist sehr einfach zu bedienen und Sie können die Option --help verwenden, um mehr über die Verwendung zu erfahren. Ich benutze Ubuntu und es ist vorinstalliert. Wenn Ihre PDF-Dateien verschlüsselt oder kennwortgeschützt sind, gibt es dafür Optionen, sodass dieses Tool hervorragend funktioniert. Sie können lesen , mehr über pdfimages hier

jetbird13
quelle
4
Bitte lesen Sie andere Antworten, bevor Sie Ihre veröffentlichen. Beachten Sie, dass es andere gibt, die dies abdecken.
Edwin
Ok, tut mir leid :) Ich dachte, meine zu posten, weil es einige Informationen über passwortgeschützte PDF-Dateien hat und ich erkläre, dass dieses Tool diese Optionen hat, und ich habe einen Link gepostet, der ein Tutorial zu diesem Tool ist.
Jetbird13
Wenn Sie genug Ansehen erlangen, können Sie die Antworten anderer kommentieren oder sie verbessern.
Edwin
1

Bei pdf-Bildern kann das extrahierte Bild aus zwei oder mehr Teilen bestehen. Ein einfacher Weg, sie wieder zusammenzusetzen, ohne sich um extrahierte Formate kümmern zu müssen, besteht darin, die Teile in LibreOffice Draw zu importieren, im Dialogfeld zum Zuschneiden von Bildern zuzuschneiden, die Teile zu positionieren, die Seitengröße anzupassen und in das von Ihnen bevorzugte Format zu exportieren.

DafyddG
quelle
1

Wenn Sie ein Bild aus einem PDF mit einem PDF-Viewer zuschneiden möchten, können Sie okular ausprobieren. Es kann alles (Texte oder Bilder) im PNG- oder JPEG-Format beschneiden. Wenn Sie Bilder im PNG-Format aus einem PDF extrahieren möchten, können Sie dies mit minimalem Befehl mit pdftohtml tun. Es konvertiert PDF in HTML und Bilder. Hier finden Sie ein Beispiel - https://www.youtube.com/watch?v=CG1rf7k3xo8 . Wenn Sie viele Bilder aus einem PDF extrahieren möchten, empfehle ich Ihnen, dies zu versuchen.

user203413
quelle
0

Verwendete Software: Xreader OS: Antergos

Schritte:

  1. PDF öffnen
  2. Klicken Sie mit der rechten Maustaste auf das Bild
  3. Wählen Sie Bild speichern unter.
  4. Name und Erweiterung der Eingabedatei.
  5. Sparen.
Yash Krishan
quelle