【问题标题】:iTextSharp v5 throwing exceptioniTextSharp v5 抛出异常
【发布时间】:2011-05-11 10:34:06
【问题描述】:

我有一个 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 会以这种方式运行有任何想法或见解??

【问题讨论】:

  • 您是否在使用的所有 PDF 表单中都得到了这个,还是只是一个特定的表单?
  • @Paddy:有些工作 - 其他不
  • iText 支持有点奇怪,但您是否尝试过在他们的邮件列表上发帖:lists.sourceforge.net/lists/listinfo/itext-questions
  • 你真的需要升级到最新版本的库,还是可以继续使用之前的版本?这只是让我想起了一句话:“如果它没有坏,就不要修复它”!确实,如果您并不特别需要 v5.0 提供的功能。
  • @Will Marcouiller:由于升级到 v5 也没有解决我的其他问题,我可能会回去。我只是想知道 v4 和 v5 之间的“中断”是什么,以及如何解决它,如果我出于某种原因确实需要转到 v5。

标签: c# itextsharp pdf-form


【解决方案1】:

使用源代码,马克!介入并找出问题所在。

您必须直接使用SVNSourceForge page 下载它...我使用tortiseSVN,它与Windows Explorer 集成得非常好。喜欢它。

我很惊讶 Paulo 没有提供源代码下载。我会问他的。

原来非 dll-only zip 包含... 源代码。哇,谁看到了?所以无论如何,介入,看看发生了什么。

【讨论】:

  • 前几天我自己查看了源代码。特定的代码行绝对不可能抛出特定的异常。它是一个只设置一个布尔值的 setter。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-24
  • 2011-05-30
  • 1970-01-01
  • 2011-02-25
相关资源
最近更新 更多