Ich versuche, mit dem Befehlszeilenprogramm convert
eine PDF-Datei in ein Bild (JPEG oder PNG) aufzunehmen. Hier ist eine der PDFs , die ich konvertieren möchte.
Ich möchte, dass das Programm den überschüssigen Leerraum abschneidet und ein Bild liefert, das hoch genug ist, damit die hochgestellten Zeichen problemlos gelesen werden können.
Dies ist mein derzeit bester Versuch . Wie Sie sehen können, funktioniert das Trimmen einwandfrei. Ich muss nur die Auflösung etwas schärfen. Dies ist der Befehl, den ich verwende:
convert -trim 24.pdf -resize 500% -quality 100 -sharpen 0x1.0 24-11.jpg
Ich habe versucht, folgende bewusste Entscheidungen zu treffen:
- Ändern Sie die Größe größer (hat keinen Einfluss auf die Auflösung)
- Machen Sie die Qualität so hoch wie möglich
- Verwenden Sie die
-sharpen
(Ich habe eine Reihe von Werten ausprobiert)
Anregungen, um die Auflösung des Bildes im endgültigen PNG / JPEG höher zu bekommen, wäre sehr dankbar!
pdf
imagemagick
JBWhitmore
quelle
quelle
sips
das "skriptfähige Bildverarbeitungssystem" an. Es ist ein in macOS integrierter Befehlszeilen-Bildeditor, der mit PDFs und vielen anderen Bildtypen funktioniert.Antworten:
Es scheint, dass Folgendes funktioniert:
Es ergibt sich das linke Bild . Vergleichen Sie dies mit dem Ergebnis meines ursprünglichen Befehls ( das Bild rechts ):
(Um die Unterschiede zwischen den beiden wirklich zu sehen und zu schätzen, klicken Sie mit der rechten Maustaste auf die beiden und wählen Sie "Bild in neuem Tab öffnen ..." .)
Beachten Sie auch die folgenden Fakten:
Es ist also nicht erforderlich, die Größe zu ändern. füge die
-density
Flagge hinzu. Der Dichtewert 150 ist seltsam - das Ausprobieren eines Wertebereichs führt zu einem schlechter aussehenden Bild in beide Richtungen!quelle
density
Parameter ist insofern etwas Besonderes, als er vor der Eingabedatei stehen muss. Da PDF ein vektorbasiertes Dateiformat ist, das keine (viel) Vorstellung von Pixeln hat, heißt es so etwas wie "Seite ist 8 x 12 Zoll". Wenn Sie Pixel möchten, verwenden Sie diedensity
Einstellung, um anzugeben, wie viele Pixel pro Zoll Sie in der Ausgabe erhalten möchten. Z.B. mit 150 würden Sie 8x150 = 1200 mal 12x150 = 1800 Pixel im resultierenden Bild erhalten. Dies ist auch die Anzahl der Pixel, mit denen die Einstellungen für Scharfzeichnen, Kontrast, Komprimierung usw. arbeiten.-flatten
.-density
und-flatten
, um die Größe eines PDFs (auf ein anderes PDF) zu reduzieren. Die-flatten
Option hilft wirklich sehr bei der Reduzierung der Gesamtgröße. In meinem Fall ohne Sehstörungen.-density
Flag liefert wahrscheinlich schlechtere Ergebnisse bei höheren Werten, wenn die Qualität des Startbilds niedriger war.Persönlich mag ich das.
Es ist etwas mehr als doppelt so groß wie die Datei, aber für mich sieht es besser aus.
-density 300
Legt die Auflösung fest, mit der das PDF gerendert wird.-trim
Entfernt alle Kantenpixel, die dieselbe Farbe wie die Eckpixel haben.-quality 100
Stellt die JPEG-Komprimierungsqualität auf die höchste Qualität ein.Dinge wie
-sharpen
funktionieren nicht gut mit Text, weil sie Dinge rückgängig machen, die Ihr Schriftwiedergabesystem getan hat, um es lesbarer zu machen.Wenn Sie möchten, dass es in die Luft gesprengt wird, verwenden Sie hier die Größenänderung und möglicherweise einen größeren dpi-Wert von so etwas.
targetDPI * scalingFactor
Dadurch wird das PDF in der von Ihnen beabsichtigten Auflösung / Größe gerendert.Beschreibungen der Parameter auf imagemagick.org finden Sie hier
quelle
convert
wissen wir, wie viele Seiten konvertiert wurden?-sharpen
. Die Qualität ist viel viel besser als bei den Standardeinstellungen und viel natürlicher als bei-sharpen
.Normalerweise extrahiere ich das eingebettete Bild mit 'pdfimages' in der nativen Auflösung und verwende dann die Konvertierung von ImageMagick in das gewünschte Format:
Dadurch wird die beste und kleinste Ergebnisdatei generiert.
Hinweis: Für verlustbehaftete JPG-eingebettete Bilder mussten Sie -j verwenden:
Mit dem neuesten Poppler können Sie -all verwenden, das verlustbehaftet als JPG und verlustfrei als PNG spart
Auf der wenig bereitgestellten Win-Plattform mussten Sie eine aktuelle (0.37 2015) 'poppler-util'-Binärdatei von folgender Adresse herunterladen: http://blog.alivate.com.au/poppler-windows/
quelle
pdftoppm
nicht mitpdfimages
Ich verwende
pdftoppm
in der Befehlszeile, um das ursprüngliche Bild zu erhalten, normalerweise mit einer Auflösung von 300 dpipdftoppm -r 300
. Dann verwendeconvert
ich es, um das Trimmen und die PNG-Konvertierung durchzuführen .quelle
pdftoppm
kann auch JPEGs und PNGs ausgeben.Ich habe festgestellt, dass es sowohl schneller als auch stabiler ist, wenn große PDF-Dateien stapelweise in PNGs und JPGs verarbeitet werden, um den zugrunde liegenden
gs
Befehl (auch bekannt als Ghostscript) zuconvert
verwenden.Sie können den Befehl in der Ausgabe von sehen
convert -verbose
und dort sind einige weitere Optimierungen möglich (YMMV), über die nur schwer oder gar nicht direkt zugegriffen werden kannconvert
.Es wäre jedoch schwieriger, das Trimmen und Schärfen mit
gs
YMMV durchzuführen.quelle
Es gibt Ihnen auch gute Ergebnisse:
quelle
Linux-Benutzer hier: Ich habe das
convert
Befehlszeilenprogramm (für PDF zu PNG) ausprobiert und war mit den Ergebnissen nicht zufrieden. Ich fand das einfacher, mit einem besseren Ergebnis:pdftk file.pdf cat 3 output page3.pdf
GIMP
Resolution
von100
nach300
oder600 pixel/in
GIMP
Export als PNG (Dateierweiterung in .png ändern)Bearbeiten:
Bild hinzugefügt, wie in der angefordert
Comments
. Konvertierter Befehl verwendet:convert -density 300 -trim struct2vec.pdf -quality 100 struct2vec.png
GIMP
: importiert mit 300 dpi (px / in); exportiert als PNG-Komprimierungsstufe 3.Ich habe GIMP nicht in der Befehlszeile verwendet (siehe: mein Kommentar unten).
quelle
convert
. Ich habe nur den Teil dieser Antwortconvert
und Ihre Frage beim Lesen Ihres Automatisierungskommentars gesehen. Vielen Dank für Ihre Antwort später in diesem Thread, den ich mit der von mir verknüpften Lösung kombiniert und ein anderes Problem gelöst habe.In ImageMagick können Sie "Supersampling" durchführen. Sie geben eine große Dichte an und ändern dann die Größe für die endgültige Ausgabegröße. Zum Beispiel mit Ihrem Bild:
Laden Sie das Bild herunter, um es zum Vergleich in voller Auflösung anzuzeigen.
Ich empfehle nicht, in JPG zu speichern, wenn Sie eine weitere Verarbeitung erwarten.
Wenn Sie möchten, dass die Ausgabe dieselbe Größe wie die Eingabe hat, ändern Sie die Größe auf das Gegenteil des Verhältnisses Ihrer Dichte zu 72. Beispiel: -dichte 288 und -größe 25%. 288 = 4 · 72 und 25% = 1/4
Je größer die Dichte, desto besser die resultierende Qualität, die Verarbeitung dauert jedoch länger.
quelle
Ich hatte wirklich keinen guten Erfolg mit
convert
[Update Mai 2020: eigentlich: es funktioniert so gut wie nie bei mir], aber ich hatte AUSGEZEICHNETEN Erfolg mitpdftoppm
. Hier einige Beispiele für die Erstellung hochwertiger Bilder aus einem PDF:[Produziert Dateien mit einer Größe von ~ 25 MB pro Seite] Geben Sie das unkomprimierte .tif- Dateiformat mit 300 DPI in einen Ordner namens "images" aus, wobei die Dateien pg-1.tif , pg-2.tif , pg-3.tif , heißen . usw:
[Erzeugt Dateien mit einer Größe von ~ 1 MB pro Seite] Ausgabe im JPG- Format mit 300 DPI :
[Erzeugt Dateien mit einer Größe von ~ 2 MB pro Seite] Ausgabe im JPG- Format bei höchster Qualität (geringste Komprimierung) und immer noch bei 300 DPI :
Weitere Erklärungen, Optionen und Beispiele finden Sie in meiner vollständigen Antwort hier:
/ubuntu/150100/extracting-embedded-images-from-a-pdf/1187844#1187844 .
Verbunden:
pdf2searchablepdf
] /ubuntu/473843/how-to-turn-a-pdf-into-a-text-searchable-pdf/1187881#1187881quelle
Ein weiterer Vorschlag ist, dass Sie GIMP verwenden können.
Laden Sie einfach die PDF-Datei in GIMP-> als .xcf speichern und Sie können das Bild beliebig bearbeiten.
quelle
Ich benutze icepdf eine Open Source Java PDF Engine. Überprüfen Sie die Office-Demo .
Ich habe auch imagemagick und pdftoppm ausprobiert , sowohl pdftoppm als auch icepdf haben eine hohe Auflösung als imagemagick.
quelle
Bitte beachten Sie, bevor Sie abstimmen. Diese Lösung ist für Gimp über eine grafische Oberfläche und nicht für ImageMagick über eine Befehlszeile vorgesehen. Als Alternative hat sie jedoch einwandfrei funktioniert. Deshalb fand ich es notwendig, sie hier zu teilen.
Befolgen Sie diese einfachen Schritte, um Bilder in einem beliebigen Format aus PDF-Dokumenten zu extrahieren
Das ist alles.
ich hoffe das hilft
quelle
Die angehängte PNG-Datei sieht sehr unscharf aus. Wenn Sie für jedes Bild, das Sie als PDF-Vorschau erstellt haben, eine zusätzliche Nachbearbeitung benötigen, verringern Sie die Leistung Ihrer Lösung.
2JPEG kann PDF-Dateien, die Sie angehängt haben, in ein schönes, scharfes JPG konvertieren und leere Ränder in einem Aufruf zuschneiden:
quelle
Verwenden Sie diese Befehlszeile:
Dadurch sollte die Datei korrekt konvertiert werden, wie Sie es gewünscht haben.
quelle
Das folgende Python-Skript funktioniert auf jedem Mac (Snow Leopard und höher). Es kann in der Befehlszeile mit aufeinanderfolgenden PDF-Dateien als Argumente verwendet werden, oder Sie können in Automator eine Aktion zum Ausführen eines Shell-Skripts eingeben und einen Dienst ausführen (Schnellaktion in Mojave).
Sie können die Auflösung des Ausgabebildes im Skript einstellen.
Das Skript und eine Quick - Action können von Github heruntergeladen werden.
quelle
Sie können dies in LibreOffice Draw tun (das normalerweise in Ubuntu vorinstalliert ist ):
quelle
Ich habe pdf2image verwendet . Eine einfache Python-Bibliothek, die wie Charme funktioniert.
Installieren Sie zuerst poppler auf einem Nicht-Linux-Computer. Sie können einfach die Zip herunterladen. Entpacken Sie in Programmdateien und fügen Sie bin zum Maschinenpfad hinzu.
Danach können Sie pdf2image in einer Python-Klasse wie folgt verwenden:
Ich bin nicht gut mit Python, konnte aber Exe daraus machen. Später können Sie die exe mit Dateieingabe- und -ausgabeparameter verwenden. Ich habe es in C # verwendet und die Dinge funktionieren gut.
Die Bildqualität ist gut. OCR funktioniert gut.
quelle
Mit Preview auf einem Mac ist das eigentlich ganz einfach. Sie müssen lediglich die Datei in der Vorschau öffnen und ein PNG oder JPEG speichern (oder exportieren). Stellen Sie jedoch sicher, dass Sie am unteren Rand des Fensters mindestens 300 dpi verwenden, um ein qualitativ hochwertiges Bild zu erhalten.
quelle