Bonjour
Je génére des pdf avec iText et ils sont conforme pdf/a
Je veux ajouter des méta données XMP 'optionnelles',
(deux valeurs résumant le pdf : une valeur de Hash et une structure xml)
et il n'est pas question que je mette ces valeurs dans les champs prévus en standard (par exemple le Keywords ou le Subject)
J'ai essayé de faire l'ajout avec iText, mais le fichier résultant
n'est plus pdf/a.
D'ailleurs iText ne gére pas les "XMP extension schema".
J'ai essayé de faire l'ajout avec pdfBox, mais le fichier résultant n'est
pas pdf/a.
J'ai essayé avec un tout nouveau module de pdfBox, appelé xmpBox,
mais idem, le fichier résultant n'est pas pdf/a.
Question 1 : quelqu'un a t il réussi à générer des pdf/a avec méta data xmp étendues. avec quelle api ?
Question 2 : pour les connaisseurs, le code que j'utilise pour ma maquette, tout commentaire éclairé est le bienvenu
C'est un mix de tutoriaux pdfBox et de classes de test xmpBox
Code :
- //API PDFBox
- PDDocument pdfDocument = PDDocument.load("monfichier.pdf" );
- PDDocumentCatalog catalog = pdfDocument.getDocumentCatalog();
- //API XmpBox
- XMPMetadata metadata = new XMPMetadata();
- BirthCertificateSchemaWithXMLDescriptions schema =
- new BirthCertificateSchemaWithXMLDescriptions(metadata);
- schema.setFirstname("Bailleul" );
- //set d'autres attributs ...
- // birth-certificate PDF/A Extension Schema definition building
- BuildPDFExtensionSchemaHelper.includePDFAExtensionDefinition(
- metadata, schema);
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- SaveMetadataHelper.serialize(metadata, bos);
- ByteArrayInputStream mdInput = new ByteArrayInputStream( bos.toByteArray() );
- //API PDFBox
- PDMetadata metadataStream = new PDMetadata(pdfDocument, mdInput, true );
- catalog.setMetadata( metadataStream );
- pdfDocument.save("monfichierxmp.pdf" );
|
Merci à tous