2010-05-03 20 views
5

Sto cercando di utilizzare iTextSharp per leggere/modificare i metadati PDF. Ho capito come farlo usando pdfreader e pdfstamper. Mi chiedevo se potessi leggere/modificare ulteriori informazioni sui metadati come le informazioni sul copyright e pochi altri all'interno dello spazio dei nomi di Photoshop XMP.Lettura/modifica dei metadati PDF utilizzando iTextSharp

Apprezzerei molto qualsiasi suggerimento per la soluzione.

Grazie, Murugesh.

risposta

10

È possibile leggere i metadati utilizzando `PdfReader '. Ho letto i metadati come questo:

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

È possibile provare la classe iTextSharp.text.xml.xmp.XmpWriter di scrivere i metadati. Non ho mai fatto, ma I found this code di seguito:

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

Grazie per la risposta. Funziona. Ora sono in grado di inserire valori in qualsiasi schema all'interno di XMP. Ma ogni volta che inserisco un valore diverso dai campi di metadati comuni (Autore, Titolo, Oggetto, Parole chiave), li aggiunge come un campo personalizzato che va sotto lo schema "pdfx" oltre allo schema in cui lo sto inserendo. Non voglio che vengano aggiunti come campi personalizzati. Qualche indicazione? Grazie, Murugesh. – muruge

+0

@muruge - Non mi dispiace non ho alcun suggerimento; Non ho mai provato quello che stai facendo. Inoltre non sono riuscito a trovare molto spazio dei nomi iTextSharp.text.xml.xmp. –

+1

Grazie per la risposta. – muruge

5

provare l'esempi nel iTextSharp book ci sono esempi sulla modifica qualsiasi parte del file pdf!

+1

Grazie per averlo condiviso. Ho già finito con questa applicazione. Ma speriamo che questo aiuti qualcuno che sta cercando una risposta a questa domanda. – muruge

+0

grazie per la condivisione –