createZugferdPdf
Versionshinweise | 16.1.20, 17.1.10 |
---|
Code
IPdfResult createZugferdPdf(String targetPdfFileName, String sourcePdfFileName, String xmlZugferdFileName, String... fileNamesToAdd)
Beschreibung
Generierung einer ZUGFeRD konformen PDF-Datei.
Hinweis
Das ZUGFeRD-Rechnungsformat erlaubt es, Rechnungsdaten in strukturierter Weise in einer PDF Datei zu übermitteln und diese ohne weitere Schritte auszulesen und zu verarbeiten. Die Generierung einer PDF/A-3 ZUGFeRD PDF-Datei basiert auf einer Standard PDF-Datei und einer XML-Datei, die der ZUGFeRD-Spezifikation entspricht.
Im Standard ist die Generierung von ZUGFeRD 1.0 konformen PDF-Dokumenten enthalten. Ist das Modul ZUGFERD freigeschaltet, können auch ZUGFeRD 2.0 konforme Dokumente generiert werden.
Parameter
- targetPdfFileName
Name der zu generierenden ZUGFeRD-konformen PDF-Datei (mit vollständiger Pfadangabe). - sourcePdfFileName
Name der PDF-Datei, aus der eine ZUGFeRD-konformen PDF-Datei generiert werden soll (mit vollständiger Pfadangabe). - xmlZugferdFileName
Name der XML-Datei, die in die ZUGFeRD-konformen PDF-Datei eingebunden wird (mit vollständiger Pfadangabe). - fileNamesToAdd
Optionaler Parameter zum Einbetten von einer oder mehreren Dateien (mit vollständiger Pfadangabe)
Die PDF-Dateien können wie folgt übergeben werden: String[], List<String> oder als einzelne Argumente vom Typ String.
Voraussetzung: Modul ZUGFERD ist freigeschaltet.
Rückgabe
Ergebnis der Generierung der ZUGFeRD-konformen PDF-Datei
Folgende Methoden stehen in dem Rückgabeobjekt IPdfResult zur Verfügung:
boolean isSuccessful()
War die Generierung der ZUGFeRD-konformen PDF-Datei erfolgreich?String getErrorCode()
Liefert den Fehlercode, falls die Generierung der ZUGFeRD-konformen PDF-Datei nicht erfolgreich war. Mit Hilfe der Fehlercodes können individuelle Ausgaben im Skripting hinterlegt werden.
Folgende Fehlercodes stehen als Konstanten in der Klasse PdfConstants zur VerfügungPdfConstants.PDF_ERRORCODE_NOTSUPPORTED_FILETYPE
Dieser Dateityp wird bei der Generierung der ZUGFeRD-konformen PDF-Datei nicht unterstützt.PdfConstants.PDF_ERRORCODE_FILENOTFOUND
Die im Paramater sourcePdfFileName angegebene PDF-Datei ist nicht vorhanden.PdfConstants.PDF_ERRORCODE_NOTSUPPORTED_PDFFORMAT
Das PDF Format der im Paramater sourcePdfFileName angegebene PDF-Datei wird nicht unterstützt.PDF_ERRORCODE_NOTCONVERTED_PDFA
Die im Paramater sourcePdfFileName angegebene PDF-Datei konnte nicht in das PDF-Format PDFA konvertiert werden .
PDF_ERRORCODE_ZUGFERD_PDFA3
Die im Paramater sourcePdfFileName angegebene PDF-Datei konnte nicht in das PDF-Format PDFA/3 konvertiert werden .PDF_ERRORCODE_ZUGFERD_INVALIDXML
Die im Paramater xmlZugferdFileName angegebene xml-Datei entspricht nicht dem ZUGFeRD-Standard.PDF_ERRORCODE_ZUGFERD_GENERAL
Ein allgemeiner Fehler ist bei der Generierung der ZUGFeRD-konformen PDF-Datei aufgetreten.PdfConstants.PDF_ERRORCODE_GENERAL
Ein allgemeiner Fehler aufgetreten.
Beispiele
String sourcePdfFileName = "c:/Source/Invoice4711.pdf";
String sourceXmlFileName = "c:/Source/ZUGFeRD-invoice.xml";
String targetPdfFileName = "c:/Target/ZUGFeRD-invoice.pdf";
String fileName1 = "C:/source/Quote.docx";
String fileName2 = "C:/source/Flyer1.pdf";
String fileName3 = "C:/source/Calculation.xlsm";
String[] files = new String[3];
files[0] = fileName1;
files[1] = fileName2;
files[2] = fileName3;
IPdfResult pdfResult = PdfUtils.createZugferdPdf(targetPdfFileName, sourcePdfFileName, sourceXmlFileName, files);
// Alternate variant for use of method without embedded files
// IPdfResult pdfResult = PdfUtils.createZugferdPdf(targetPdfFileName, sourcePdfFileName, sourceXmlFileName);
if (!result.isSuccessful())
{
if (ScriptUtils.equal(PdfConstants.PDF_ERRORCODE_NOTSUPPORTED_FILETYPE, result.getErrorCode()))
{
...Error handling...
}
}
else
{
...do something with "c:/Target/ZUGFeRD-invoice.pdf"...
}
// Alternate variant for use of method
// ZugferdConfigVO configVO = new ZugferdConfigVO(targetPdfFileName, sourcePdfFileName, sourceXmlFileName);
// configVO.setDeleteLogFiles(true);
// configVO.setPdfConformanceLevel("A");
// configVO.setPdfConformanceLevel("B");
// configVO.setZugferdConformanceLevel(ZugferdConformanceLevel.BASIC);
// configVO.setZugferdConformanceLevel(ZugferdConformanceLevel.COMFORT);
// configVO.setZugferdConformanceLevel(ZugferdConformanceLevel.EXTENDED);
// configVO.setProducer("Cursor Software AG");
// configVO.setCreator("Cursor Software AG");
// configVO.setEmbeddedFiles(files);
// PdfUtils.createZugferdPdf(configVO);