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.