2010-06-09 8 views
5

Sto usando iTextSharp per creare un documento PDF in C#. Vorrei allegare un altro file al PDF. Sto avendo solo un sacco di problemi nel tentativo di farlo. Gli esempi here mostrano alcune annotazioni, che apparentemente sono gli allegati.iTextSharp per PDF - come aggiungere file allegati?

Questo è quello che ho provato:

writer.AddAnnotation(its.pdf.PdfAnnotation.CreateFileAttachment(writer, new iTextSharp.text.Rectangle(100,100,100,100), "File Attachment", its.pdf.PdfFileSpecification.FileExtern(writer, "C:\\test.xml"))); 

Beh, quello che succede è che fa aggiungere un'annotazione sul PDF (appare come una vocina palloncino commento), che non voglio. test.xml è mostrato nel pannello degli allegati in Adobe Reader, ma non può essere letto o salvato e la sua dimensione del file è sconosciuta, quindi è probabile che non sia mai stata collegata correttamente.

Qualche suggerimento?

risposta

6

Beh, ho avuto un po 'di codice funzionante per attaccarlo:

its.Document PDFD = new its.Document(its.PageSize.LETTER); 
its.pdf.PdfWriter writer; 
writer = its.pdf.PdfWriter.GetInstance(PDFD, new FileStream(targetpath, FileMode.Create)); 
its.pdf.PdfFileSpecification pfs = its.pdf.PdfFileSpecification.FileEmbedded(writer, "C:\\test.xml", "New.xml", null); 
writer.AddFileAttachment(pfs); 

dove "la sua" = "iTextSharp.text"

Ora per leggere l'allegato!