i-effect Manual
German English
German English

PDF/A kompatible PDF mit Ghostscript erzeugen

Bei die ZugFERD konvertierung kann auch ein eigenes PDF mit der erzeugten XML Datei gemerged werden. Dieses PDF muss dem PDF/A Standard entsprechen.

Um ein komptitibles PDF/A zu erzeugen, kann Ghostscript verwendet werden, welches man einfach per SSH installieren kann.

/QOpenSys/pkgs/bin/yum install ghostscript

Weiterhin wird ein Farbprofil als .icc Datei benötigt, welches bei der Konvertierung verwendet und die PDF/A eingebettet wird. Es kann dazu eine ICC v2 .icc Datei genommen werden, als Quelle eignet sich z.B.: https://github.com/saucecontrol/Compact-ICC-Profiles/blob/master/profiles/AdobeCompat-v2.icc


Das installierte Ghostscript sollte unter “\QOpenSys\pkgs\share\ghostscript\<version>\lib” liegen. In diesem Ordner gibts es die Datei PDFA_def.ps, in welcher das .icc Profil verlinkt wird.

Im folgendem Aufruf wurden das .icc Profil und die PDFA_def.ps in den neu erstellten Ordner “/home/ieffect/ghostscript/” kopiert und in der PDFA_def.ps folgende Zeilen angepasst:

% Define an ICC profile :
/ICCProfile (/home/ieffect/data/ghostscript/sRGB-v2.icc) % Customise

Zusätzlich wurden die Ordner /in und /out erstellt und der Ghostscript Aufruf in der Datei ghostscript.sh gespeichert:

#!/QOpenSys/pkgs/bin/bash

BASE=/home/ieffect/data/ghostscript

# PDF/A-1b erzeugen: i-effect/Mustang (ZUGFeRDExporterFromA1)
# erwartet A-1 und stuft selbst auf PDF/A-3 hoch.
/QOpenSys/pkgs/bin/gs \
  --permit-file-read="$BASE/sRGB-v2.icc" \
  -dPDFA=1 \
  -dBATCH -dNOPAUSE -dNOOUTERSAVE \
  -dPDFACompatibilityPolicy=1 \
  -dEmbedAllFonts=true -dSubsetFonts=true \
  -sDEVICE=pdfwrite \
  -sColorConversionStrategy=RGB \
  -sProcessColorModel=DeviceRGB \
  -sOutputFile="$BASE/out/test_a.pdf" \
  "$BASE/PDFA_def.ps" \
  "$BASE/in/test.pdf" \
  > "$BASE/out/gs-output.log" 2> "$BASE/out/gs-error.log"

  rc=$?
echo "gs exit code: $rc"
exit $rc


Dieses kann dann per QSH oder in i-effect als Server-Verarbeitung aufgerufen werden:

QSH CMD('/home/ieffect/data/ghostscript/ghostscript.sh')