Custom-Converter für Anzeige XRechnungen - XML-Dokument-Anzeige

Custom-Converter für Anzeige XRechnungen - XML-Dokument-Anzeige

Autor: Svend Hackethal                 Stand: 24.01.2025 

 

Der Documentviewer zeigt standardmäßig Dateiinhalte an. Bei XRechnungen sollen aber keine XML-Inhalte angezeigt werden, sondern das Dokument als PDF in Form der Rechnung. 
Unsere Entwickler arbeiten daran, eine Software-Lösung zu finden, denn es sollen evtl. nicht alle XML-Dokumente auf diese Weise angezeigt werden. 

Mit nachfolgender Anleitung/Dokumentation ist möglich, eine XRechnung als Dokument darzustellen. Es gibt verschiedene Konverter, daher mehrere Varianten.


Kurzform:

  • Download Konverter-Software eigener Wahl (die Resource-Daten ins Verzeichnis documentviewer\renditionplus anlegen - entweder batch oder custom) 

  • config-Dateien für die Steuerung (XML nud JS) im Verzeichnis Custom unter documentviewer\renditionplus\bin\custom erstellen

 


Dokumentation Custom Converter XRechnungen 

Basis für den Converter: OpenXRechnungToolbox 

Basis für die Konvertierung der XMLs in ein PDF für die Inhaltsvorschau ist die OpenXRechnungToolbox_3.0.0_Windows_64bit. 

URL: https://jcthiele.github.io/OpenXRechnungToolbox/  

Handbuch: https://jcthiele.github.io/OpenXRechnungToolbox/resources/help/manual.html  

 

Bestandteile: 

Datei 

Beschreibung 

xrech2pdf.js 

Steuerdatei für die Einbindung als Custom Converter im DocumentViewer/RenditionPlus 

xrech2pdf.xml 

Steuerdatei für die Einbindung als Custom Converter im DocumentViewer/RenditionPlus 

test_pdf_param.bat 

Batch Datei zur Generierung der Vorschau-PDF auf Basis der XML 

OpenXRechnungToolbox.jar 

Programmdatei der OpenXRechnungToolbox 

\resources 

Erforderliche Programmdateien 

\log 

Logverzeichnis für die Toolbox 

 

Implementierung 

Der Inhalt des Custom Converters muss im custom-Verzeichnis der Dokumentenviewer-Installation bereitgestellt werden. 

…Services\documentviewer\renditionplus\bin\custom 

 

Beschreibung 

Der Custom Converter besteht aus den Steuerdateien für den Dokumentenviewer/Rendition, einer Batchdatei für die Erzeugung des PDFs auf Basis der XRechnungs-XML sowie den Programmkomponenten der Toolbox. 

Mit Ablage einer XRechnung in enaio wird damit eine PDF für die Inhaltsvorschau generiert.  

 

Wird der Custom Converter nach Einspielen der Dateien vom DocumentViewer erkannt, wird ein entsprechender Logeintrag generiert. 

 

Hinweis: 

Ein Restart des DocumentViewer-Dienstes ist nicht erforderlich. 

Konfiguration 

Einbinden im Dokumentviewer 

 

Steuerdatei xrech2pdf.xml 

In dieser Datei werden die Parameter für den Aufruf des Custom Converters konfiguriert. 

Die Ausführungspriorität wird über den Eintrag „starter priority=“ gesteuert. Gibt es andere Konverter für die Source/Target-Kombination mit einer höheren Priorität, werden diese verwendet. Es muss also ggf. der eingetragene Wert angepasst werden. 

Werden Änderungen an den Parametern aus der Sektion „executor“ vorgenommen, muss ebenfalls eine Anpassung der Übergabeparamter unter „function process()“ erfolgen. 

 

Steuerdatei xrech2pdf.js 

 

Batchdatei test_pdf_param.bat 

Der RenditionPlus übergibt der Batchdatei die verwendete XML sowie das Ziel für die PDF-Datei. Die erzeugt PDF wird dann für die Inhaltsvorschau verwendet. 

 

Beispiel Input-Datei
"E:\EnaioDaten\services\documentviewer\data\temp\os_7191812404020128323.xml" 

Beispiel Output-Datei 
E:\EnaioDaten\services\documentviewer\data\temp\20250117.122543.343-118-toPdf\7a669bd1-14ce-450c-ac1a-911445aa5d5b/result.pdf 

Beispiel Logeintrag für Konvertierung unter dem Kontext „converteroutput“ 
E:\Enaio\Services\documentviewer\renditionplus\bin\custom\xrechnung>java -Dlog4j.configuration=./resources/log4j2.xml -jar OpenXRechnungToolbox.jar -viz -i ""E:\EnaioDaten\services\documentviewer\data\temp\os_7191812404020128323.xml"" -o ""E:\EnaioDaten\services\documentviewer\data\temp\20250117.122543.343-118-toPdf\7a669bd1-14ce-450c-ac1a-911445aa5d5b/result.pdf"" -p 

 

Basis für den Converter: Mustang

Basis für die Konvertierung der XMLs in ein PDF für die Inhaltsvorschau ist der Mustang E-Rechnungsviewer. 

URL: https://www.mustangproject.org/portfolio/e-rechnungsviewer/  

Handbuch: https://www.mustangproject.org/use/

 

Bestandteile: 

Datei 

Beschreibung 

xrech2pdf.js 

Steuerdatei für die Einbindung als Custom Converter im DocumentViewer/RenditionPlus 

xrech2pdf.xml 

Steuerdatei für die Einbindung als Custom Converter im DocumentViewer/RenditionPlus 

convert_pdf_param.bat 

Batch Datei zur Generierung der Vorschau-PDF auf Basis der XML 

Mustang-CLI-2.16.1.jar 

Programmdatei der OpenXRechnungToolbox 

 

Implementierung 

Der Inhalt des Custom Converters muss im custom-Verzeichnis der Dokumentenviewer-Installation bereitgestellt werden. 

…Services\documentviewer\renditionplus\bin\custom 

 

Beschreibung 

Der Custom Converter besteht aus den Steuerdateien für den Dokumentenviewer/Rendition, einer Batchdatei für die Erzeugung des PDFs auf Basis der XRechnungs-XML sowie den Programmkomponenten der Toolbox. 

Mit Ablage einer XRechnung in enaio wird damit eine PDF für die Inhaltsvorschau generiert.  

 

Wird der Custom Converter nach Einspielen der Dateien vom DocumentViewer erkannt, wird ein entsprechender Logeintrag generiert. 

 

Hinweis: 

Ein Restart des DocumentViewer-Dienstes ist nicht erforderlich. 

 

Konfiguration 

Einbinden im Dokumentviewer 

 

Steuerdatei xrech2pdf.xml 

In dieser Datei werden die Parameter für den Aufruf des Custom Converters konfiguriert. 

Die Ausführungspriorität wird über den Eintrag „starter priority=“ gesteuert. Gibt es andere Konverter für die Source/Target-Kombination mit einer höheren Priorität, werden diese verwendet. Es muss also ggf. der eingetragene Wert angepasst werden. 

Werden Änderungen an den Parametern aus der Sektion „executor“ vorgenommen, muss ebenfalls eine Anpassung der Übergabeparamter unter „function process()“ erfolgen. 

 

Steuerdatei xrech2pdf.js 

 

Batchdatei test_pdf_param.bat 

 

Der RenditionPlus übergibt der Batchdatei die verwendete XML sowie das Ziel für die PDF-Datei. Die erzeugt PDF wird dann für die Inhaltsvorschau vewendet. 

Beispiel Input-Datei 

"E:\EnaioDaten\services\documentviewer\data\temp\os_7191812404020128323.xml" 

Beispiel Output-Datei 

E:\EnaioDaten\services\documentviewer\data\temp\20250117.122543.343-118-toPdf\7a669bd1-14ce-450c-ac1a-911445aa5d5b/result.pdf 

Beispiel Logeintrag für Konvertierung unter dem Kontext „converteroutput“ 

OUTPUT: E:\Enaio\Services\documentviewer\renditionplus\bin\custom\xrechnung>java -Xmx1G -Dfile.encoding=UTF-8 -jar Mustang-CLI-2.16.1.jar --action pdf --source "E:\EnaioDaten\Services\documentviewer\data\temp\os_7195045289869094785.xml" --out "E:\EnaioDaten\Services\documentviewer\data\temp\20250123.074624.097-15-toPdf\a1fe88a8-6ee2-4318-b20d-6bc03042c8fa/result.pdf" 

 

Umgang mit Anhängen 

Enthält die xRechnung Anhänge, so wird ein entsprechender Abschnitt beim Erzeugen der PDF mit angefügt, der die enthaltenen Anhänge auflistet. 

 

Die Anhänge sind in der generierten PDF eingebettet, werden aber aktuell von der Dokumentenvorschau nicht angezeigt. 

Über Inhalt (PDF) kann die Vorschau-Datei lokal gespeichert werden, um auf die Anhänge zuzugreifen. 

 

 

 

Download (JS- und XML-Datei sowie test.bat-Datei)

Bitte die Pfade an die enaio-Verzeichnisse anpassen:

ZIP_Custom_Converter_XRechnungen.zip

ZIP_custom_Converter_Mustang.zip

 

 

Ein Restart des DocumentViewer-Dienstes ist nicht erforderlich. Der Documentviewer pollt periodisch auf das Konfigurationsverzeichnis und liest Änderungen ein. Man muss nur ggfls. die Vorschau im Client aktualisieren. 

Verwandte Artikel