Création d'un PDF conforme PDF/A-3 et pièce jointe d'une facture ZUGFeRD en Java

Utilisez les API Document et FileSpecification lorsque vous devez regrouper le XML d’une facture dans un PDF pour les flux de travail de style ZUGFeRD.

Joindre la facture XML ZUGFeRD à un PDF

  1. Ouvrez le PDF source Document.
  2. Créez le FileSpecification pour le fichier de facture XML.
  3. Définissez les métadonnées du fichier intégré, y compris le type MIME et AFRelationship.
  4. Ajoutez le FileSpecification à la collection de fichiers incorporés au document.
  5. Convertissez le document en PdfFormat PDF_A_3A.
  6. Enregistrez le [Document] PDF mis à jour (https://reference.aspose.com/pdf/java/com.aspose.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);
    }