Abrufen von N JPEG-Bildern aus N-Seiten-PDF

Abrufen von N JPEG-Bildern aus N-Seiten-PDF

Ich habe ein PDF mit N Seiten. Ich möchte dieses PDF in N JPEG-Bilder konvertieren (über die Befehlszeile, kein PHP, Java oder andere Programmiersprachen).

Ich versuche, dies mit GHOSTSCRIPT zu tun, aber die Ausgabe, die GS mir liefert, entspricht nie der Ausgabe, die ich suche.

Beispiel:

gs \
  -sDEVICE=jpeg \
  -dNOCACHE \
  -dDEVICEHEIGHTPOINTS=72 -dDEVICEWIDTHPOINTS=72 \
  -r300 \
  -g800x600 \
  -dFIXEDMEDIA \
  -dPDFFitPage \
  -sOutputFile=output/%d.jpg \
   mypdf.pdf 

Erstellen Sie N JPEG-Bilder mit einer Auflösung von 800 x 600, aber es scheint, dass die PDF-Seite zugeschnitten ist und nicht passt.

Wie kann ich einfach N JPEG-Bilder aus einer N-Seiten-PDF-Datei abrufen (über die Befehlszeile)?

Antwort1

Das verwendete Kommandozeilenprogramm Alesdario macht Folgendes:

  1. Weisen Sie Ghostscript an, eine Ausgabedimension von 800 x 600 Pixeln zu verwenden.
  2. Weisen Sie Ghostscript an, eine Auflösung von 300 dpi (Punkte pro Zoll) zu verwenden.
  3. Weisen Sie Ghostscript an, eine Ausgabedimension von 72 Gerätepunkten zu verwenden.

Alle drei können nicht gleichzeitig funktionieren, denn wenn zwei zusammenkommen, widersprechen sie dem dritten.

Bei 300 dpi ergibt sich für eine Leinwand von 800 x 600 eine physikalische Abmessung von 2,33 x 2 Zoll (Zoll) – viel weniger als (wahrscheinlich) die Größe Ihrer ursprünglichen PDF-Seite war.

Zu„Holen Sie sich einfach N JPEG-Bilder aus einem N-Seiten-PDF (über die Befehlszeile)“verwenden Sie diesen Befehl:

 gs \
   -sDEVICE=jpeg \
   -o output/%d.jpg \
    mypdf.pdf

Dies ist der einfachste Aufruf, der nichts abschneidet und die Standardeinstellungen von Ghostscript verwendet für:

  • Bildauflösung: Diese beträgt 72 dpi für die JPEG-Ausgabe
  • Abmessungen der Ausgabebilder: diese richten sich nach der jeweiligen PDF-Seitengröße (Ghostscript geht jedoch davon aus, dass PDF 720 dpi verwendet).

Um N JPEG-Bilder aus einem N-seitigen PDF zu erhaltenmit einer vordefinierten Auflösung und einer vordefinierten Bildgröße, müssen Sie selbst einige Berechnungen durchführen und die -rund -g-Werte entsprechend festlegen. Beispielsweise möchten Sie möglicherweise 200 dpi für Ihr JPEG (von PDF-Seitengrößen, die ISO A4 [595x842 pt] waren): Das bedeutet, dass Sie -r200 -g1652x2338der Befehlszeile hinzufügen müssen, wenn Sie das Zuschneiden vermeiden möchten.... Dadurch wird Ghostscripterneut abtastenalle Seiten und die darin enthaltenen Objekte auf die neue Auflösung.

Antwort2

VersuchenBildMagick. Ich glaube, der gewünschte Befehl lautet:

$ convert -density 400 my.pdf my.jpeg

verwandte Informationen