So entfernen Sie Bilder aus einer PDF-Datei

13

Ich habe ein ziemlich großes (~ 100 MB) PDF-Dokument mit vielen Bildern (als Illustrationen und Hintergrundbilder), und ich hätte gerne eine Kopie dieses PDFs ohne Bilder, kann aber nicht herausfinden, wie TU das.

Ich spreche nicht davon, es nur in Text zu konvertieren. Ich möchte Absätze / Tabellen / Mehrspalten so lassen, wie sie sind.

Ich bin mit der Befehlszeile vertraut und habe mehrere Computer mit unterschiedlichen Distributionen, die ich verwenden kann.

Ornux
quelle
Da es sich um ein 500-Seiten-Dokument mit mehreren Bildern auf jeder Seite handelt, suche ich nach einer automatisierten Methode, um jedes Bild zu entfernen.
Ornux

Antworten:

14
cpdf -draft original.pdf -o version_without_images.pdf

Es befindet sich nicht in den Repositories, aber Sie können einen Download ( vorkompiliert oder Quellcode ) auf deren Website finden .


Handbuch :

15.1 Entwürfe von Dokumenten

Mit der Option -draft werden Bitmap-Bilder (Fotos) aus einer Datei entfernt, sodass sie mit weniger Tinte gedruckt werden können. Optional kann die Option -boxes hinzugefügt werden, wobei die leeren Stellen mit einem gekreuzten Kästchen gefüllt werden, das angibt, wo sich das Bild befand. Es ist nicht garantiert, dass dies in allen Fällen vollständig sichtbar ist (die Bitmap wurde möglicherweise teilweise von Vektorobjekten verdeckt oder im Original abgeschnitten). Beispielsweise:

 cpdf -draft -boxes in.pdf -o out.pdf
Rinzwind
quelle
1
Das ist genau das, was ich suchte. Die Ausgabedatei ist einfach perfekt. Ich danke dir sehr!
Ornux
@Rinzwind Bitte beachten Sie, dass der Link "deren Website" tatsächlich zu einer Zip-Datei führt.
Jos
Hmm .. für mich fügt es immer wieder fast zufällige Zeilen über und über Text hinzu, und die Dateigröße wächst tatsächlich ein wenig, anstatt zu schrumpfen.
Henning Koehler
22

Die neuesten Versionen von Ghostscript können dies auch. Fügen Sie einfach den Parameter -dFILTERIMAGEzu Ihrem Befehl hinzu.

Es gibt noch zwei weitere neue Parameter, die hinzugefügt werden können, um die Inhaltstypen "Vektor" und "Text" selektiv zu entfernen :

  1. -dFILTERIMAGE: Erzeugt eine Ausgabe, bei der alle Rasterbilder entfernt werden.

  2. -dFILTERTEXT: Erzeugt eine Ausgabe, bei der alle Textelemente entfernt werden.

  3. -dFILTERVECTOR: Erzeugt eine Ausgabe, bei der alle Vektorzeichnungen entfernt werden.

Zwei dieser Optionen können kombiniert werden. (Wenn Sie alle 3 kombinieren, werden alle Seiten ausgeblendet ...)

Beispiele

Hier ist der Screenshot einer Beispiel-PDF-Seite, die alle drei oben genannten Arten von Inhalten enthält:

Screenshot der ursprünglichen PDF-Seite mit "Bild" -, "Vektor" - und "Text" -Elementen.
Screenshot der ursprünglichen PDF-Seite mit "Bild" -, "Vektor" - und "Text" -Elementen.


Durch Ausführen der folgenden 6 Befehle werden alle 6 möglichen Variationen des verbleibenden Inhalts erstellt:

 gs -o noIMG.pdf -sDEVICE = pdfwrite -dFILTERIMAGE input.pdf
 gs -o noTXT.pdf -sDEVICE = pdfwrite -dFILTERTEXT input.pdf
 gs -o noVCT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR input.pdf

 gs -o onlyIMG.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERTEXT input.pdf
 gs -o onlyTXT.pdf -sDEVICE = pdfwrite -dFILTERVECTOR -dFILTERIMAGE input.pdf
 gs -o onlyVCT.pdf -sDEVICE = pdfwrite -dFILTERIMAGE -dFILTERTEXT input.pdf

Das folgende Bild zeigt die Ergebnisse:


Obere Reihe von links: Der gesamte "Text" wurde entfernt. alle "Bilder" entfernt; Alle "Vektoren" entfernt. Untere Reihe, von links: nur "Text" bleibt erhalten; nur "Bilder" bleiben erhalten; nur "Vektoren" werden beibehalten.
Obere Reihe von links: Der gesamte "Text" wurde entfernt.  alle "Bilder" entfernt;  Alle "Vektoren" entfernt.  Untere Reihe, von links: nur "Text" bleibt erhalten;  nur "Bilder" bleiben erhalten;  nur "Vektoren" werden beibehalten.


Kurt Pfeifle
quelle
2

Während @Rinzwind die richtige Antwort ist , möchte ich nur die "Midway" -Lösung kommentieren. Sie können in der Regel stark die Größe der Bilder reduzieren mit ghost mit

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen \
   -dNOPAUSE -dQUIET -dBATCH -sOutputFile=small.pdf original.pdf

... es ist manchmal sehr praktisch zum Korrekturlesen. Die Handbuchseite zum Schreiben von PDF finden Sie hier .

Rmano
quelle
@KurtPfeifle setzt /screen(unter anderem) die Auflösung der Bitmap-Bilder auf 72 dpi. Also ja, wenn Sie Bilder mit kleinerer DPI haben, kann dies die Dateigröße erhöhen. Aus diesem Grund habe ich das Wort "normal" verwendet (im Sinne von "nicht immer, aber ziemlich oft"). Fühlen Sie sich frei, was Sie wollen, abzustimmen.
Rmano
Führen Sie diesen Befehl: for s in screen default ; do gs -o /dev/null -sDEVICE=pdfwrite -dPDFSETTINGS=/${s} -c "currentpagedevice {exch ==only ( ) print === } forall" | sort | tee ghostscript---pdfwrite-PDFSETTINGS-${s}--pagedevice-settings.txt; done. Es werden zwei Textdateien erstellt, mit denen Sie vergleichen können sdiff -sbB $[file1}.txt ${file2}.txt. Jetzt wissen Sie genau und vollständig alle die verschiedenen Einstellungen eingeführt durch -dPDFSETTINGS=/screen!
Kurt Pfeifle
Erledigt. Ich kann immer noch nicht sehen, welche Option eine größere Datei /screenals in /default--- 72 dpi im Vergleich zu 150 dpi, optimiert, EPS-Vorschau verwerfen ... aber hey, kein großes Problem. Die Leute werden die bessere Lösung testen und auswählen.
Rmano
Es tut mir leid - vielleicht muss ich mich jetzt für die frechheit meiner ersten aussage entschuldigen. Um ehrlich zu sein, ich habe gerade scheinen aus meiner früheren Untersuchungen (ein paar Jahre zurück) , die zu erinnern , /screengab wirklich schlechte Ergebnisse. Möglicherweise versagt mein Gedächtnis, oder ich habe es verwechselt /epub. Das Kommando, das ich dir gab, war aus dem Gedächtnis, weil ich mir ziemlich sicher war, dass es zeigen würde, was ich meinte. Jetzt habe ich es erneut ausgeführt, ich sehe nicht mehr, was ich erwartet hatte: mehr erweiterte Tests, die ich vor einigen Jahren ausgeführt habe. Dann wurden viele (CID? / CFF?) Schriftarten gerastert, wodurch die Größe der resultierenden PDFs zunahm. Ich muss die Ausgabe noch einmal besuchen, wenn ich mehr Zeit habe ... :-)
Kurt Pfeifle
0

Sie können den Master-PDF-Editor verwenden, diese Bilder löschen und als neue PDF-Datei speichern. Sie können es vom Ubuntu Software Center herunterladen.

Sudheer
quelle
Ich habe es gerade installiert, um es zu versuchen, aber ich sehe keine automatisierte Möglichkeit, dies zu tun. Da es sich um ein 500-Seiten-Dokument handelt, sehe ich das manuelle Entfernen hier nicht als Lösung. Habe ich etwas verpasst ?
Ornux
Nein, Sie haben nichts verpasst. Ich dachte, Bilder sind groß, also möchten Sie sie entfernen. Ich habe nie an so viele Bilder gedacht. trotzdem nette frage.
Sudheer