OFFICIUM INSERVIO
Your reliable partner for your business software...
PDF Datei um Xml-Datei und Wasserzeichen ergänzen / Add XML file and watermark to PDF file
(alle Versionen/all versions)
Montag, 23. September 2024
Umsetzung mit Open Source Bibliothek "iText"
Code zum Hinzufügen einer XML-Datei in eine existierende PDF-Datei
Code zum Hinzufügen der Wasserzeichen-PDF-Datei in die existierende PDF-Datei
Code zum Hinzufügen einer Wasserzeichen Bild-Datei in eine existierende PDF-Datei
Deutsch
Beschreibung der Anforderung
Eine existierende PDF-Datei soll zum einen um eine XML-Datei ergänzt werden, z.B. wie dies bei ZUGFeRD E-Rechnungen der Fall ist, bei denen in der PDF die XML-Daten zur Rechnung eingebettet werden.
Außerdem soll ein Wasserzeichen über alle Seiten der PDF hinzugefügt werden.
Das Wasserzeichen soll aus einer anderen PDF-Datei kommen.
Die erstellte PDF soll dem PDF-A3 Standard entsprechen, so dass die finale PDF-Datei den grundlegenden Anforderungen für eine E-Rechnung genügt.
Umsetzung mit Open Source Bibliothek "iText"
Für das Kundenprojekt haben wir uns für die Verwendung des NuGet-Pakets "iText" für das klassische .NET Framework 4.8 entschieden, welches sich über das übliche öffentliche NuGet Repositor einem .NET Projekt hinzufügen lässt.
Im Wesentlichen werden nachfolgende NuGet-Pakete benötigt.
Verwendet wurde die Version 8.0.5 der Bibliotheken.
itext
itext.bouncy-castle-adapter
itext.commons
itext7
itext7.bouncy-castle-adapter
Code zum Hinzufügen einer XML-Datei in eine existierende PDF-Datei
Annmerkung zum Code:
Der Code verweist auf die Datei "sRGB_CS_profile.icm", die Farb-Spezifikationen beinhaltet.
Eine solche Datei kann z.B. über nachfolgenden Link heruntergeladen werden:
Code zum Hinzufügen der Wasserzeichen-PDF-Datei in die existierende PDF-Datei
Code zum Hinzufügen einer Wasserzeichen Bild-Datei in eine existierende PDF-Datei
Falls man keine PDF-Datei zur Verfügung hat, die das Wasserzeichen beinhaltet, kann man alternativ auch eine Bilddatei verwenden.
Nachfolgender Code demonstriert dies.
Anmerkung:
Die Bilddatei muss zu genannten Maßen im Quellcode passen bzw. so bezüglich Größe ausgerichtet sein, dass es dem gewünschten Ergebnis entspricht.
Alternativ muss man die entsprechenden Canvas-Größen im Code anpassen!
