iTextSharp for PDF - 如何添加文件附件?

Ada*_*m S 6 c# pdf pdf-generation itext itextsharp

我正在使用iTextSharp在C#中创建PDF文档.我想将另一个文件附加到PDF.我试图这样做有很多麻烦.这里的例子显示了一些注释,显然是附件.

这就是我尝试过的:

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")));
Run Code Online (Sandbox Code Playgroud)

那么,会发生什么呢?它会在PDF上添加注释(显示为一个小注释语音气球),这是我不想要的.test.xml显示在Adobe Reader的附件窗格中,但无法读取或保存,并且其文件大小未知,因此可能永远不会正确附加.

有什么建议?

Ada*_*m S 7

好吧,我得到了一些代码来附加它:

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);
Run Code Online (Sandbox Code Playgroud)

其中"its"="iTextSharp.text"

现在阅读附件!