So erstellen Sie eine korrekte (Graustufen-) PDF / X-3-Datei mit Ghostscript
Ich versuche, beliebige PDF-Dateien (ein mit pdfLaTeX erstelltes Magazin, das einige Fotos, aber auch Grafiken wie Webcomics enthält) mit Ghostscript in gültiges PDF / X-3 zu konvertieren, und ich möchte, dass das Ergebnis in Graustufen / Monochrom vorliegt. Ich weiß nicht viel über ICC-Farbprofile, und ich interessiere mich in jedem Fall nicht wirklich für das Farbmanagement. Wenn dies ohne ICC-Profile einfacher ist, macht es mir nichts aus. Ich bin bereit, den Drucker mit meiner Datei erledigen zu lassen - ich brauche keine absolute Farbtreue (vor allem, weil wir hier von Graustufen sprechen).
Ich habe versucht, es anhand der Ghostscript-Dokumentation im Abschnitt „Erstellen eines PDF / X-3-Dokuments“ zum Laufen zu bringen . Basierend darauf sieht mein Versuch so aus:
gs \ -dSAFER -sDEVICE=pdfwrite \ -dEmbedAllFonts \ -sProcessColorModel=DeviceGray \ -sColorConversionStrategy=Gray \ -dPDFX -dPDFACompatibilityPolicy=1 \ -o 'output.pdf' -f 'my_pdfx_def.ps' 'input.pdf'
Wo my_pdfx_def.ps
enthält Folgendes, basierend auf der mit Ghostscript gelieferten Vorlage:
%! systemdict /ProcessColorModel known { systemdict /ProcessColorModel get dup /DeviceGray ne exch /DeviceCMYK ne and } { true } ifelse { (ERROR: ProcessColorModel must be /DeviceGray or /DeviceCMYK.)= /ProcessColorModel cvx /rangecheck signalerror } if [ /GTS_PDFXVersion (PDF/X-3:2002) % Must be so (the standard requires). /Trapped /False % Must be so (Ghostscript doesn't provide other). /DOCINFO pdfmark % Define an ICC profile: currentdict /ICCProfile known { [/_objdef /type /stream /OBJ pdfmark [ <</N systemdict /ProcessColorModel get /DeviceGray eq ifelse >> /PUT pdfmark [ ICCProfile (r) file /PUT pdfmark } if % Define the output intent dictionary: [/_objdef /type /dict /OBJ pdfmark [ << /Type /OutputIntent % Must be so (the standard requires). /S /GTS_PDFX % Must be so (the standard requires). /OutputCondition (Commercial and specialty printing) % Customize /Info (none) % Customize /OutputConditionIdentifier (CGATS TR001) % Customize /RegistryName (http://www.color.org) % Must be so (the standard requires). currentdict /ICCProfile known { /DestOutputProfile % Must be so (see above). } if >> /PUT pdfmark [ <</OutputIntents [ ]>> /PUT pdfmark
Dadurch wird eine Datei ausgeführt, die in meinem PDF-Viewer oberflächlich als OK erscheint. Ich bin mir jedoch nicht sicher, ob dies tatsächlich ausreichend ist (ein gültiges / sinnvolles PDF / X-3-Dokument erstellen), wenn man die lange Liste der Dinge berücksichtigt, die ich laut Ghostscript-Dokumentation tun sollte. Insbesondere heißt es
Um ein PDF / X-3-Dokument aus einem Postscript oder einer PDF-Datei zu erstellen, sollten Sie:
[…]
- Geben Sie eine PDF / X-Definitionsdatei an, bevor Sie das Eingabedokument ausführen. Es enthält zusätzliche Informationen, die in das Ausgabedokument aufgenommen werden sollen. Ein Beispiel für eine PDF / X-Definitionsdatei finden Sie in
gs/lib/PDFX_def.ps
.- Wenn eine registrierte Druckbedingung anwendbar ist, geben Sie ihren Bezeichner in der PDF / X-Definitionsdatei an. Andernfalls geben Sie ein ICC-Profil an und geben Sie es in der PDF / X-Definitionsdatei an (siehe unten).
Ich habe versucht, die von mir PDFX_def.ps
erwähnte Datei anzupassen (siehe oben), aber ich weiß nicht, was eine OutputCondition
ist oder was ich dafür tun soll. Leider ist dies in den Ghostscript-Dokumenten kaum dokumentiert. Ich habe versucht, eine .icc
Datei in meiner angepassten Version festzulegen, aber Ghostscript konnte die Datei nicht finden - egal, ich habe immer " Error: /invalidfileaccess in --file--
" bekommen. Und welches Farbprofil würde ich sowieso verwenden?
- Stellen Sie eine
DefaultRGB
Ressourcendatei in der Ressourcenkategorie ColorSpace bereit. Definieren Sie es entweder in der PDF / X-Definitionsdatei oder geben Sie eine Definition von angs/Resource/ColorSpace/DefaultRGB
.gs/Resource/ColorSpace/DefaultRGB
wird normalerweise mit Ghostscript vertrieben, sein Inhalt kann nicht unbedingt Ihre Bedürfnisse erfüllen, siehe unten.
Es ist unnötig zu erwähnen, dass dies nicht genau spezifiziert wird. Aber brauche ich das überhaupt, wenn ich Graustufen möchte?
- Geben Sie mithilfe
-sOutputICCProfile
eines ICC-Profils an, das den Farbraum (entweder CMYK oder Grau) der endgültigen Datei darstellt. Dies ist das gleiche ICC-Profil, das in der PDF / X-Definitionsdatei verwendet wird, wie das ICC-Profil. Selbst wenn Sie einen Standard verwendenOutputCondition
und kein ICCProfile angeben müssen, müssen SieOutputICCProfile
ein geeignetes ICC-Profil angeben, um eine korrekte Farbkonvertierung zu gewährleisten .
Nun, ich habe keine Angaben gemacht -sOutputICCProfile
und das schien nicht zu schaden. Soll ich noch (Wiederum, wo soll ich das ICC-Profil herausziehen?)
0 Antworten auf die Frage
Verwandte Probleme
-
14
PDF Viewer unter Windows
-
8
Firefox PDF-Plugin zum Anzeigen von PDF-Dateien im Browser unter Windows
-
17
So drucken Sie Dokumente als PDF
-
2
Firefox zum Drucken von PDF-Schriftarten
-
4
PDF Reader für iPhone
-
6
Adobe Reader: Kennwort für eine PDF-Datei merken
-
4
Kann ich einer PDF-Datei eigene Lesezeichen / Registerkarten hinzufügen?
-
5
Welche Adobe Acrobat-Alternativen verfügen über PDF-Signaturfunktionen
-
3
Welche Software kann Handschrift in Text umwandeln?
-
1
Ein Inhaltsverzeichnis für viele .odt-Dateien erstellen