PDF/3-A 호환 PDF 생성 및 Java로 ZUGFeRD 송장 첨부
Contents
[
Hide
]
ZUGFeRD 스타일 워크플로를 위해 PDF 내에 송장 XML을 패키지해야 하는 경우 Document 및 FileSpecification API를 사용하세요.
ZUGFeRD 송장 XML을 PDF에 첨부
- 원본 PDF
Document를 여세요. - XML 송장 파일에 대한
FileSpecification을 만드세요. - MIME 유형 및
AFRelationship을 포함하여 포함된 파일 메타데이터를 설정하세요. - 문서 내장 파일 컬렉션에
FileSpecification을 추가하세요. - 문서를
PdfFormatPDF_A_3A으로 변환하세요. - 업데이트된 PDF
Document를 저장하세요.
public static void attachInvoiceZugferdFormat(Path inputFile, Path invoiceFile, Path outputFile) {
try (Document document = new Document(inputFile.toString())) {
String description = "Invoice metadata conforming to ZUGFeRD standard";
FileSpecification fileSpecification = new FileSpecification(invoiceFile.toString(), description);
fileSpecification.setMIMEType("text/xml");
fileSpecification.setAFRelationship(AFRelationship.Alternative);
document.getEmbeddedFiles().add("factur", fileSpecification);
String outputFileName = outputFile.toString();
String logPath = outputFileName.replace(".pdf", "_log.xml");
document.convert(logPath, PdfFormat.PDF_A_3A, ConvertErrorAction.Delete);
document.save(outputFile.toString());
}
System.out.println("ZUGFeRD invoice attached to " + outputFile);
}