Benutzer-Werkzeuge

Webseiten-Werkzeuge


tools:ghostscript

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
tools:ghostscript [2015/11/20 11:13] – angelegt juliustools:ghostscript [2017/07/21 02:09] (aktuell) – [PDFs verkleinern] Link ergänzt julius
Zeile 1: Zeile 1:
 ====== Ghostscript ====== ====== Ghostscript ======
  
-Diese Seite erklärtwie man beim Arbeiten mit Scribus auf Ghostscript zurückgreifen kann.+[[http://www.ghostscript.com/|Ghostscript]] ([[wpde>Ghostscript|Wikipedia-Artikel]]) ist ein sehr standardkonformerfreier PDF- und [[wpde>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.
  
-===== PDFs aufteilen und zusammenfügen =====+Auf dieser Seite sollen einige Anwendungsfälle kurz beschrieben werden.
  
-====== Transparenzen entfernen reduzieren ====== +<note tip> 
-Beispielsweise verlangt die Druckerei PDF1.3Scribus beherrscht jedoch nicht das Reduzieren von Transparenzen, dies kann mit Ghostscript erledigt werden: +  * //Unter Windows// müssen sie statt ''gs'' den **Pfad zu Ghostscript** eingeben, beispielsweise <code>"C:\Program Files\gs\gs9.18\bin\gswin32c.exe"</code> (die Anführungszeichen sind notwendig, weil sich Leerzeichen im Pfad befinden) 
-<code bash>gs -o output.pdf -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 Test.pdf</code>+  * //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 <nowiki>'</nowiki> oder doppelte <nowiki>"</nowiki>) umgeben sein: <code bash>gs -o "Ausgabe Datei.png" -sDEVICE=png16m Eingabe.pdf</code
 +</note>
  
-====== PDFs verkleinern ====== +<note important>**Wichtig:**\\ 
-siehe [[http://wiki.scribus.net/canvas/Reduce_the_size_of_Scribus_generated_PDFs]]+Ghostscript //überschreibt existierende Dateien ohne Warnung//, daher vorher Befehle noch einmal genau kontrollieren!</note>
  
-====== PDFs rastern ======+===== Transparenzen entfernen / reduzieren ===== 
 +Beispielsweise verlangt die Druckerei PDF-1.3, Scribus beherrscht jedoch nicht das Reduzieren von Transparenzen, dies kann mit Ghostscript erledigt werden: 
 +<code bash>gs -o Eingabe.pdf -sDEVICE=pdfwrite -dCompatibilityLevel=1.3 Ausgabe.pdf</code> 
 +  * ''-dCompatibilityLevel=1.3'' gibt PDF-1.3 als Ausgabeformat an. 
 + 
 +===== PDFs verkleinern ===== 
 +  * [[https://wiki.scribus.net/canvas/Reduce_the_size_of_Scribus_generated_PDFs]] 
 +  * [[https://gist.github.com/firstdoit/6390547|Compress PDF files with ghostscript]] 
 +===== 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: 
 +<code bash>gs -o Ausgabe.png -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 Eingabe.pdf</code> 
 +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 [[http://www.ghostscript.com/doc/current/Devices.htm|Ghostscript-Dokumentation]] abrufen, eine Auswahl der wichtigsten davon: 
 +    * ''gnggray'' Graustufen-PNG 
 +    * ''pngalpha'' PNG mit Alpha-Kanal (Transparenz) – erzeugt eine //PNG ohne den Hintergrund des (weißen) PDFs// 
 +    * ''jpeg'' JPEG 
 +    * ''pdfwrite'' PDF erzeugen 
 +  * ''-dTextAlphaBits=4'' Antialiasing des Texts (keine „Treppenstufen“ am Text)((Quelle: [[http://www.ghostscript.com/doc/current/Use.htm#Rendering_parameters]])) 
 +  * ''-dGraphicsAlphaBits=4'' führt das Antialiasing auch an Grafiken durch 
 +  * ''-r300'' setzt die Auflösung auf 300dpi 
 + 
 +<note tip>Sie müssen den Dateinamen an das Ausgabeformat anpassen: Beispielsweise ''Datei.png'' wenn PNG als Ausgabeformat gewählt wurde, ''Datei.jpg'' wenn JPEG gewählt wurde.</note> 
 + 
 +==== Mehrseitige PDF ==== 
 +<code bash>gs -o Ausgabe_Seite%d.png -sDEVICE=png16m -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r300 -dFirstPage=2 -dLastPage=2  Eingabe.pdf</code> 
 +  * ''-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. 
 + 
 +===== 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: 
 + 
 +<code> 
 +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. 
 +</code> 
 + 
 +===== PDFs zusammenfügen ===== 
 +Beispielsweise praktisch, wenn sie ihr Projekt aus Gründen der Performance [[einfuehrung:faq_problemloesungen#weitere_massnahmen|in mehrere Scribus-Dokumente aufgeteilt]] haben. 
 +<code bash>gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=Zusammengefügt.pdf datei1.pdf datei2.pdf datei3.pdf</code> 
 +  * ''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 
 + 
 +===== PDF in einzelne Dokumente aufteilen ===== 
 +Analog lässt sich natürlich ein Dokument in mehrere PDFs (''Seite1.pdf'', ''Seite2.pdf'', usw.) aufteilen: 
 +<code bash>gs -o Seite%d.pdf -sDEVICE=pdfwrite  Eingabe.pdf</code> 
 +Die aus dem [[#PDFs zusammenfügen|vorherigen Abschnitt]] bekannten Parameter zum Definieren eines Dokument-Ausschnitts lassen sich natürlich ebenfalls verwenden.
tools/ghostscript.1448014387.txt.gz · Zuletzt geändert: (Externe Bearbeitung)