我几天来一直在为这个错误而苦苦挣扎。希望您能看到我不能做的事情并帮助我指明正确的方向。
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 行上收到错误消息。预先感谢您的洞察力!
答案 0 :(得分:1)
if (pdfTemplate == null && newFile == null)
这应该是一个 ||而不是&&。如果这些文件中的一个为空,但不是两者都为空,那么如果 pdfTemplate 为空而 newFile 不是,它将在稍后崩溃。