Inhaltsverzeichnis
Ghostscript
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.
- Unter Windows müssen sie statt
gsden 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)
- Unter Linux und anderen unixoiden Systemen müssen sie unbedingt die Groß- und Kleinschreibung beachten – unter Windows ist dies egal.
- befinden sich Leerzeichen im Pfad oder sonstigen Eingaben, muss diese Angabe von Anführungszeichen (einfache ' oder doppelte ") umgeben sein:
gs -o "Ausgabe Datei.png" -sDEVICE=png16m Eingabe.pdf
Ghostscript überschreibt existierende Dateien ohne Warnung, daher vorher Befehle noch einmal genau kontrollieren!
Transparenzen entfernen / reduzieren
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.3gibt PDF-1.3 als Ausgabeformat an.
PDFs verkleinern
PDFs rastern
Einfachster Fall: Einseitiges Dokument
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.pnglegt die DateiAusgabe.pngals Ziel fest-sDevice=png16mweist Ghostscript an, eine PNG-Datei mit 16 Millionen Farben als Farbumfang zu erzeugen; weitere Ausgabe-„Geräte“ lassen sich pergs -hauflisten oder in der Ghostscript-Dokumentation abrufen, eine Auswahl der wichtigsten davon:gnggrayGraustufen-PNGpngalphaPNG mit Alpha-Kanal (Transparenz) – erzeugt eine PNG ohne den Hintergrund des (weißen) PDFsjpegJPEGpdfwritePDF erzeugen
-dTextAlphaBits=4Antialiasing des Texts (keine „Treppenstufen“ am Text)1)-dGraphicsAlphaBits=4führt das Antialiasing auch an Grafiken durch-r300setzt die Auflösung auf 300dpi
Datei.png wenn PNG als Ausgabeformat gewählt wurde, Datei.jpg wenn JPEG gewählt wurde.
Mehrseitige PDF
gs -o Ausgabe_Seite%d.png -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -dFirstPage=2 -dLastPage=2 Eingabe.pdf
-o Ausgabe_Seite%d.pngbestimmt, dass die AusgabedateiAusgabe_Seite%d.pngheißt, wobei%dvon Ghostscript durch die Seitenzahl ersetzt wird.-dFirstPage=2 -dLastPage=2weist Ghostscript an, auf Seite 2 zu beginnen und dort auch aufzuhören;-dFirstPage=1 -dLastPage=3würde hingegen auf der ersten Seite beginnen und auf der dritten aufhören.
PDFs auf Standard-Konformität überprüfen
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.
PDFs zusammenfügen
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.pdfunddatei3.pdfsind beispielhaft Platzhalter für drei zusammenzufügende PDF-Dateien-sOUTPUTFILE=Zusammengefügt.pdfgibt die Ausgabedatei an
PDF in einzelne Dokumente aufteilen
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.
