422 Stimmen

PDF in Bilder mit hoher Auflösung konvertieren

Ich versuche, das Kommandozeilenprogramm zu verwenden convert um ein PDF in ein Bild (JPEG oder PNG) umzuwandeln. Hier ist eine der PDFs die ich zu konvertieren versuche.

Ich möchte, dass das Programm den überschüssigen weißen Raum abschneidet und ein Bild mit ausreichender Qualität liefert, damit die hochgestellten Buchstaben problemlos gelesen werden können.

Dies ist meine aktuelle bester Versuch . Wie Sie sehen können, funktioniert das Beschneiden gut, ich muss nur die Auflösung ein wenig 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, die folgenden Entscheidungen bewusst zu treffen:

  • Vergrößern (hat keinen Einfluss auf die Auflösung)
  • die Qualität so hoch wie möglich zu halten
  • verwenden Sie die -sharpen (Ich habe eine Reihe von Werten ausprobiert)

Für Vorschläge, wie die Auflösung des Bildes im endgültigen PNG/JPEG-Format erhöht werden kann, wäre ich sehr dankbar!

21voto

fmw42 Punkte 36588

In ImageMagick können Sie "Supersampling" durchführen. Sie geben eine hohe Dichte an und verkleinern dann so viel wie gewünscht für die endgültige Ausgabegröße. Zum Beispiel mit Ihrem Bild:

convert -density 600 test.pdf -background white -flatten -resize 25% test.png

enter image description here

Laden Sie das Bild herunter, um es in voller Auflösung zu vergleichen.

Ich empfehle nicht, die Bilder im JPG-Format zu speichern, wenn Sie sie weiterverarbeiten wollen.

Wenn Sie möchten, dass die Ausgabe die gleiche Größe wie die Eingabe hat, ändern Sie die Größe auf den Kehrwert des Verhältnisses Ihrer Dichte zu 72. Zum Beispiel: -density 288 und -resize 25%. 288=4*72 und 25%=1/4

Je höher die Dichte, desto besser die Qualität, aber desto länger dauert die Verarbeitung.

16voto

Coder Punkte 2556

Ich habe festgestellt, dass es sowohl schneller als auch stabiler ist, bei der Stapelverarbeitung von großen PDFs in PNGs und JPGs die zugrunde liegende gs (auch bekannt als Ghostscript) den Befehl convert verwendet.

Sie können den Befehl in der Ausgabe von convert -verbose und es gibt noch ein paar weitere Tweaks (YMMV), die nur schwer oder gar nicht direkt über convert .

Allerdings wäre es schwieriger, das Trimmen und Schärfen mit gs Wie ich schon sagte, es kommt darauf an!

10voto

Preet Sandhu Punkte 407

Sie liefert auch gute Ergebnisse:

exec("convert -geometry 1600x1600 -density 200x200 -quality 100 test.pdf test_image.jpg");

7voto

Victoria Stuart Punkte 3912

Linux-Benutzer hier: Ich habe die convert Befehlszeilendienstprogramm (für PDF zu PNG) und war mit den Ergebnissen nicht zufrieden. Ich fand dies einfacher und mit einem besseren Ergebnis:

  • Extrahieren der pdf-Seite(n) mit pdftk
    • z.B.: pdftk file.pdf cat 3 output page3.pdf
  • öffnen (importieren) Sie die pdf-Datei mit GIMP
    • Wichtig: Ändern Sie den Import Resolution von 100 a 300 o 600 pixel/in
  • in GIMP als PNG exportieren (Dateierweiterung in .png ändern)

Edita:

Bild hinzugefügt, wie in der Comments . Befehl Convert 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 auf der Kommandozeile benutzt (siehe meinen Kommentar unten).

pdf2png

enter image description here

3voto

pbaranski Punkte 19914

Pour Windows (getestet am W11):

magick.exe -verbose -density 150 "input.pdf" -quality 100 -sharpen 0x1.0 output.jpg

Sie müssen installieren:

ImageMagick https://imagemagick.org/index.php

ghostscript https://www.ghostscript.com/releases/gsdnld.html

Zusätzliche Informationen:

  • Achten Sie auf die Verwendung von -flatten Parameter, da er nur die erste Seite als Bild erzeugen kann

  • 使用する -scene 1 Parameter, um bei Index 1 mit den Bildnamen zu beginnen

  • convert wurde zu Gunsten des folgenden Befehls veraltet magick

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X