iText pdfBox xmpBox : gérer des métadata xmp dans un pdf pdf/a

iText pdfBox xmpBox : gérer des métadata xmp dans un pdf pdf/a - Java - Programmation

Marsh Posté le 16-11-2011 à 18:57:04    

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 :
  1. //API PDFBox
  2. PDDocument pdfDocument = PDDocument.load("monfichier.pdf" );
  3. PDDocumentCatalog catalog = pdfDocument.getDocumentCatalog();
  4. //API XmpBox
  5. XMPMetadata metadata = new XMPMetadata();
  6. BirthCertificateSchemaWithXMLDescriptions schema =
  7. new BirthCertificateSchemaWithXMLDescriptions(metadata);
  8. schema.setFirstname("Bailleul" );
  9. //set d'autres attributs ...
  10. // birth-certificate PDF/A Extension Schema definition building
  11. BuildPDFExtensionSchemaHelper.includePDFAExtensionDefinition(
  12. metadata, schema);
  13. ByteArrayOutputStream bos = new ByteArrayOutputStream();
  14. SaveMetadataHelper.serialize(metadata, bos);
  15. ByteArrayInputStream mdInput = new ByteArrayInputStream( bos.toByteArray() );
  16. //API PDFBox
  17. PDMetadata metadataStream = new PDMetadata(pdfDocument, mdInput, true );
  18. catalog.setMetadata( metadataStream );
  19. pdfDocument.save("monfichierxmp.pdf" );


 
Merci à tous
 

Reply

Marsh Posté le 16-11-2011 à 18:57:04   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed