我有一个PDF表单模板,我从C#代码中填入值,打印出来。
突然,我的客户报告错误 - 当试图打印PDF(从ASP.NET页面)时,他们得到:
无法投射类型的对象 输入'iTextSharp.text.pdf.PdfName' 'iTextSharp.text.pdf.PdfIndirectReference'
在挖掘我的代码时,我发现此错误发生在这行代码中:
PdfReader reader = new PdfReader("MyPdfTemplateName.pdf");
PdfStamper stamper = new PdfStamper(reader, ms);
// filling field values here.....
stamper.FormFlattening = true; // **** EXCEPTION HERE *****
stamper.Writer.CloseStream = false;
stamper.Close();
有趣的是:这只发生在iTextSharp的“新”版本5.0中 - 我回到了我以前的版本4.1.2,并且使用完全相同的代码,完全相同的PDF格式 ,它完美无缺......
任何人对为什么 iTextSharp的新v5都采用这种方式有任何想法或见解?
答案 0 :(得分:1)
使用来源,Marc!介入,找出问题所在。
您必须直接使用SVN从SourceForge page下载...我使用的tortiseSVN非常适合与Windows资源管理器集成。喜欢它。
我很惊讶Paulo没有提供源代码下载。我会问他这件事。
原来,非dll-only zip包含......来源。哇,谁看到了这个?所以,任何方式,介入,看看是什么。