2

我有一个 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 会以这种方式运行?

4

1 回答 1

1

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

您必须直接使用SVNSourceForge 页面下载它……我使用与 Windows Explorer 很好地集成的tortiseSVN 。爱它。

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

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

于 2010-11-24T18:12:06.657 回答