我正在尝试使用ITextSharp (5.5.13.3版)在C#控制台应用程序中打开一个pdf文件来填充表单字段,但是当我试图用流实例化PdfStamper时,我就被困住了。我已经尝试了大约十几个pdf可填充文件(没有锁定,也没有加密)和验证权限(设置为"EveryOne"),但是不知道什么是null!从我所知道的情况来看,流是有效的,而PdfReader实际上正在打开该文件。这是我第一次尝试这样做,但找不到一个真正的工作例子(我从一个网站上复制了这个例子,但它不起作用)。会不会是流错了类型?错误信息是:
System.NullReferenceException: 'Object reference not set to an instance of an object.'
由于阅读器(我可以调试和查看pdf文件和表单字段的所有属性,没有问题)和流都被实例化了,这会是什么呢?
using (MemoryStream ms = new MemoryStream())
{
PdfReader pdfReader = new PdfReader("D:/TestData/Direct Deposit Signup Form.pdf");
using (PdfStamper pdfStamper = new PdfStamper(pdfReader, ms, '\0', true))
{ ... }
错误出现在
使用pdfStamper
线路。文件在哪里和安全设置似乎都不重要。
完全错误(不过,和往常一样,谁知道到底发生了什么,这是如此的神秘):
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=itextsharp
StackTrace:
at iTextSharp.text.Version.GetInstance()
我以前没有使用过这个工具,但是我希望看到一个有用的例子--也许MemoryStream就是问题所在。不知道该从哪里开始找。也许我应该将它们的源代码下载到另一个项目中并进行调试?有什么想法吗?
发布于 2022-10-17 02:57:26
我在用VS 2022。在“调试选项”中,“打开”“只是我的代码”为我工作。这里提到的是iTextSharp GetInstance - NullReferenceException错误
https://stackoverflow.com/questions/73523079
复制相似问题