另一个“对象未设置为对象的实例”错误

时间:2021-05-17 14:52:35

标签: c# object itext pdfstamper

我几天来一直在为这个错误而苦苦挣扎。希望您能看到我不能做的事情并帮助我指明正确的方向。

private void FillFormChg()
{
    pdfTemplate = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "Slip.pdf");
    newFile = System.IO.Path.Combine(System.IO.Path.GetTempPath(), "SlipTemp.pdf");

    try
    {
        PdfReader pdfReader = new PdfReader(pdfTemplate);
        
        if (pdfTemplate == null && newFile == null)
        {
            MessageBox.Show("Can't find Templates!");
            return;
        }
        
        PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.OpenOrCreate));
        pdfStamper.Writer.CloseStream = false;
        AcroFields pdfFormFields = pdfStamper.AcroFields;
    }
}

我已经检查了 null,并确保模板在那里并且可读,但我仍然在 PdfStamper 行上收到错误消息。预先感谢您的洞察力!

1 个答案:

答案 0 :(得分:1)

 if (pdfTemplate == null && newFile == null)

这应该是一个 ||而不是&&。如果这些文件中的一个为空,但不是两者都为空,那么如果 pdfTemplate 为空而 newFile 不是,它将在稍后崩溃。

相关问题