-1

几天来,我一直在努力解决这个错误。希望你能看到我看不到的东西,并帮助我指出正确的方向。

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 行上收到错误。提前感谢您的洞察力!

4

1 回答 1

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

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

于 2021-05-17T14:55:36.253 回答