我正在使用iTextSharp在C#中创建PDF文档。我想将另一个文件附加到PDF。我试图这样做有很多麻烦。示例here显示了一些注释,显然是附件。
这是我尝试过的:
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")));
那么,会发生什么呢?它会在PDF上添加注释(显示为一个小注释语音气球),这是我不想要的。 test.xml显示在Adobe Reader的附件窗格中,但无法读取或保存,并且其文件大小未知,因此可能永远无法正确附加。
有什么建议吗?
答案 0 :(得分: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);
其中“its”=“iTextSharp.text”
现在阅读附件!