PDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 5 Nov 2019 12:46:38 +0000 (13:46 +0100)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 28 Feb 2020 14:01:42 +0000 (15:01 +0100)
commit80eceeda50a7c64673a6f3b41df4dbaa388db2da
treed22b521b6a8e695b8953b0e452ae8e68b72e0874
parentd91984a2c64118801b903f426d95b834d2517ba6
PDF-Erzeugung: Support fürs Erzeugen von PDF/A-konformen PDFs

Es gibt einen Rose-DB-Helfer `S:D:H:PDF_A`, der die erforderliche
Struktur für `SL::Template::LaTeX` (via
`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_a}`) erzeugt. Der Helfer ist
für die üblichen Belegklassen (`S:D:{Order,DeliveryOrder,Invoice}`)
eingebunden.

Weiterhin können über
`$form->{TEMPLATE_DRIVER_OPTIONS}->{pdf_attachments}` Dateien in PDFs
eingebettet werden.

Das Erzeugen funktioniert nur für LaTeX-Vorlagen, nicht für
OpenDocument-Vorlagen.

Für LaTeX werden nun weitere Pakete benötigt, deren Präsenz vom
Installations-Check geprüft werden: `pdfx`, `embedfile`.

Für `embedfile` muss leider eine von uns modifizierte Version benutzt
werden, da der letzte offizielle Release das PDF-Attribut
`/AFRelationship` nicht unterstützt. Dieses Attribut muss aber für
jede in ein PDF/A eingebettete Datei gesetzt sein. Daher liefern wir
die modifizierte Version im neuen Unterverzeichnis `texmf` mit, das
über die Umgebungsvariable `TEXINPUTS` höhere Präferenz bekommt, als
die Systemverzeichnisse.

Die relevante Modifikation ist der folgende Pull-Request:

https://github.com/ho-tex/oberdiek/pull/72

Siehe auch folgender Bug:

https://github.com/ho-tex/oberdiek/issues/37
SL/DB/Helper/PDF_A.pm [new file with mode: 0644]
SL/DB/Invoice.pm
SL/Template/LaTeX.pm
scripts/installation_check.pl
texmf/embedfile.sty [new file with mode: 0644]