2010-05-03 24 views
5

J'essaie d'utiliser iTextSharp pour lire/modifier les métadonnées PDF. J'ai compris comment le faire en utilisant pdfreader et pdfstamper. Je me demandais si je pouvais aussi lire/modifier des informations de métadonnées supplémentaires comme les informations de copyright et quelques autres dans l'espace de noms de photoshop XMP.Lire/modifier les métadonnées PDF en utilisant iTextSharp

J'apprécierais grandement les pointeurs vers la solution.

Merci, Murugesh.

Répondre

10

Vous pouvez lire les métadonnées en utilisant `PdfReader '. J'ai lu des métadonnées comme ceci:

PdfReader reader = new PdfReader("HelloWorldNoMetadata.pdf"); 
string s = reader.Info["Author"]; 

Vous pouvez essayer la classe iTextSharp.text.xml.xmp.XmpWriter d'écrire des métadonnées. Je ne l'ai jamais fait, mais I found this code ci-dessous:

PdfReader reader = new PdfReader("HelloWorldNoMetadata.pdf"); 
PdfStamper stamper = new PdfStamper(reader, 
new FileOutputStream("HelloWorldStampedMetadata.pdf")); 
HashMap info = reader.getInfo(); 
info.put("Author", "Bruno Lowagie"); 
info.put("Title", "Hello World stamped"); 
stamper.setMoreInfo(info); 
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
XmpWriter xmp = new XmpWriter(baos, info); 
xmp.close(); 
stamper.setXmpMetadata(baos.toByteArray()); 
stamper.close(); 
+0

Merci pour la réponse. Ça marche. Je suis capable de mettre des valeurs à n'importe quel schéma dans XMP maintenant. Mais chaque fois que j'insère une valeur autre que les champs communs de métadonnées (Auteur, Titre, Sujet, Mots clés), il les ajoute comme un champ personnalisé qui passe sous le schéma "pdfx" en plus du schéma où je l'insère. Je ne veux pas qu'ils soient ajoutés en tant que champs personnalisés. Des pointeurs? Merci, Murugesh. – muruge

+0

@muruge - Non désolé je n'ai pas de pointeurs; Je n'ai jamais essayé ce que tu faisais. Je ne pouvais pas non plus trouver beaucoup sur l'espace de noms iTextSharp.text.xml.xmp. –

+1

Merci pour la réponse. – muruge

5

Essayez les exemples dans le iTextSharp book il y a des exemples sur la modification d'une partie du fichier pdf!

+1

Merci de partager cela. J'ai déjà terminé avec cette application. Mais j'espère que cela aidera quelqu'un qui cherche une réponse à cette question. – muruge

+0

merci pour le partage –