Ghostscript (Wikipedia-Artikel) ist ein sehr standardkonformer, freier PDF- und PostScript-Interpreter, der von Scribus zur Darstellung von Postscript-Dateien sowie für die Druckvorschau benötigt wird, aber auch alleine benutzt werden kann, um beispielsweise PDF-Dateien zusammenzufügen, in Bilder umzuwandeln und zu überprüfen.
Auf dieser Seite sollen einige Anwendungsfälle kurz beschrieben werden.
gs
den Pfad zu Ghostscript eingeben, beispielsweise "C:\Program Files\gs\gs9.18\bin\gswin32c.exe"
(die Anführungszeichen sind notwendig, weil sich Leerzeichen im Pfad befinden)
gs -o "Ausgabe Datei.png" -sDEVICE=png16m Eingabe.pdf
Beispielsweise verlangt die Druckerei PDF-1.3, Scribus beherrscht jedoch nicht das Reduzieren von Transparenzen, dies kann mit Ghostscript erledigt werden:
gs -o Eingabe.pdf -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 Ausgabe.pdf
-dCompatibilityLevel=1.3
gibt PDF-1.3 als Ausgabeformat an.Um eine PDF-Datei mit Ghostscript in eine Bitmapgrafik umzuwandeln (beispielsweise um sie als Vorschaubilder zu benutzen), bedarf es folgendem Kommando:
gs -o Ausgabe.png -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 Eingabe.pdf
Erläuterungen zu den Parametern:
-o Ausgabe.png
legt die Datei Ausgabe.png
als Ziel fest-sDevice=png16m
weist Ghostscript an, eine PNG-Datei mit 16 Millionen Farben als Farbumfang zu erzeugen; weitere Ausgabe-„Geräte“ lassen sich per gs -h
auflisten oder in der Ghostscript-Dokumentation abrufen, eine Auswahl der wichtigsten davon:gnggray
Graustufen-PNGpngalpha
PNG mit Alpha-Kanal (Transparenz) – erzeugt eine PNG ohne den Hintergrund des (weißen) PDFsjpeg
JPEGpdfwrite
PDF erzeugen-dTextAlphaBits=4
Antialiasing des Texts (keine „Treppenstufen“ am Text)1)-dGraphicsAlphaBits=4
führt das Antialiasing auch an Grafiken durch-r300
setzt die Auflösung auf 300dpiDatei.png
wenn PNG als Ausgabeformat gewählt wurde, Datei.jpg
wenn JPEG gewählt wurde.
gs -o Ausgabe_Seite%d.png -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -dFirstPage=2 -dLastPage=2 Eingabe.pdf
-o Ausgabe_Seite%d.png
bestimmt, dass die Ausgabedatei Ausgabe_Seite%d.png
heißt, wobei %d
von Ghostscript durch die Seitenzahl ersetzt wird.-dFirstPage=2 -dLastPage=2
weist Ghostscript an, auf Seite 2 zu beginnen und dort auch aufzuhören; -dFirstPage=1 -dLastPage=3
würde hingegen auf der ersten Seite beginnen und auf der dritten aufhören.Lässt man Ghostscript eine fehlerhafte PDF-Datei umwandeln (auf eine der oben beschrieben Weisen, beispielsweise in eine Grafik), teilt GhostScript uns dies mit:
GPL Ghostscript 9.10 (2013-08-30) Copyright (C) 2013 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. **** Warning: stream Length incorrect. **** Warning: An error occurred while reading an XREF table. **** The file has been damaged. This may have been caused **** by a problem while converting or transfering the file. **** Ghostscript will attempt to recover the data. **** Warning: There are objects with matching object and generation **** numbers. The accuracy of the resulting image is unknown. **** Error: Trailer is not found. No pages will be processed (FirstPage > LastPage). **** This file had errors that were repaired or ignored. **** Please notify the author of the software that produced this **** file that it does not conform to Adobe's published PDF **** specification.
Beispielsweise praktisch, wenn sie ihr Projekt aus Gründen der Performance in mehrere Scribus-Dokumente aufgeteilt haben.
gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Zusammengefügt.pdf datei1.pdf datei2.pdf datei3.pdf
datei1.pdf
, datei2.pdf
und datei3.pdf
sind beispielhaft Platzhalter für drei zusammenzufügende PDF-Dateien-sOUTPUTFILE=Zusammengefügt.pdf
gibt die Ausgabedatei an
Analog lässt sich natürlich ein Dokument in mehrere PDFs (Seite1.pdf
, Seite2.pdf
, usw.) aufteilen:
gs -o Seite%d.pdf -sDEVICE=pdfwrite Eingabe.pdf
Die aus dem vorherigen Abschnitt bekannten Parameter zum Definieren eines Dokument-Ausschnitts lassen sich natürlich ebenfalls verwenden.