Wie schneiden Sie einen Abschnitt von einer PDF-Datei mit Ghostscript nach PNG
Muss ich Ernte einen bestimmten Abschnitt in meinem PDF-Datei in PNG (diese werden automatisiert mit Hilfe von Ghostscript mit PHP). Dies ist, was ich jetzt tun, was im Grunde dreht sich die erste Seite einer PDF zu PNG:
gs -q -dNOPAUSE -dBATCH \
-sDEVICE=pngalpha -dEPSCrop \
-sOutputFile=output.png input.pdf
Speziell, ich bin versucht zu beschneiden diese oben Links auf Karte um ein PNG. Ich bin auch offen für weitere Vorschläge, wie Sie dies bewerkstelligen.
- Link tot. Keine chance, indem es auf imgur?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erste,
bestimmen Sie den Begrenzungsrahmen Ihrer ersten PDF-Seite:
Die resultierende Ausgabe wird sein:
Heißt es:
(119,531)
(464,814)
Die Werte sind in PostScript-Punkte (wo
72 pt == 1 inch
) . Die bounding box ist das Rechteck, das enthält diesen grafischen PDF-Objekte, lassen Sie die Tinte oder toner-Marken auf einer Seite.Dann,
erstellen Sie Ihre PNG.
Sich aus der bounding box Wert, Sie zu wollen scheinen, es 345 pt Breite (
= 464 - 119
) und 283 pt hoch (= 814 - 531
). Dies führt zu einem Seiten-Größe-g345x283
(in Pixel angegeben, da Ghostscript verwendet standardmäßig 72 dpi für das Bild ausgegeben (sofern nicht anders angegeben), und dafür72 px == 1 inch
.Oder besser, wir halten eine Sicherheitszone von 1 pt Weg von der bounding box, also machen wir das Bild ein bisschen größer als das minimum, und wir erhalten dieses Bild dimension:
-g347x285
.Müssen Sie auch cut-off-119 pt von der linken Kante (118 pt für die 'Sicherheit') und 531 pt von der unteren Kante (530 für die Sicherheit).
Also wäre der Befehl:
Hier ist die resultierende PNG:
Für eine bessere PNG-Qualität, Erhöhung der Auflösung von Standard 72 dpi bis 720 dpi und verwenden Sie folgenden Befehl:
Update:
Unter Windows in einem CMD-Fenster, die Konsole-Anwendung-Namen für Ghostscript sind
gswin32c.exe
- und/odergswin64c.exe
(stattgs
). Auch müssten Sie die Verwendung^
als ein Zeilenfortsetzungszeichen (statt\
).grep
mitselect-string
.)gs
. Diese indirekt auch hat geben Sie an der Bash (weilgs
ist Ghostscript ist lauffähig auf Linux, Unix und Mac OS X). Mein Zugeständnis an Sie ist das update zu meiner Antwort von 3 Stunden.-g
und-r
Angabe des/Install
Richtlinie für die übersetzung, für die ich nicht finden konnte, die Dokumentation überall. Funktioniert trotzdem, vielen Dank.Unter Windows in der Konsole-Anwendung-Namen für Ghostscript sind
gswin32c.exe
- und/odergswin64c.exe
(stattgs
).1. CMD-Fenster
In CMD-Fenster, das Sie verwenden
^
als ein Zeilenfortsetzungszeichen (statt\
). Auchgrep
möglicherweise nicht verfügbar-verwenden Siefindstr
statt. Zuletzt, wenngswinXX.exe
ist nicht in Ihrem%PATH%
, und wenn Sie den vollständigen Pfad ein Leerzeichen enthält, müssen Sie nennen es:2. PowerShell-Fenster
In einem PowerShell-Fenster, nur unter Angabe der vollständigen Pfad zu der ausführbaren Datei wird nicht funktionieren. Sie haben zu laufen: