我在几个程序中使用了一些Syncfusion PDF工具。一个程序通过foreach循环从PdfLoadedDocument
的{{1}}属性读取字段(并根据某些属性值进行一些记录保存)。这很好。
我有另一个程序,它接受的PDF文档似乎并不总是Form
属性(Form
为空)。显然,当尝试添加这样的字段时,这是一个问题:
doc.Form
似乎没有任何方法可以根据我在Syncfusion文档中找到的内容设置/创建新的PdfLoadedDocument PDF = new PdfLoadedDocument(@"C:\Me\Desktop\test.pdf");
PdfLoadedForm Form = PDF.Form; //Form is null
PdfLoadedPage Page = (PdfLoadedPage)PDF.Pages[0];
//Problem is, form is null for this line
PDF.Form.Fields.Add(new TextField(Page, "TEST_NAME"));
来添加到文档中。这使得从这个程序中产生的任何东西都不能按照我之前提到的程序(没有从中读取字段的表格)的预期功能。我在这里错过了什么或以错误的方式解决这个问题吗?
答案 0 :(得分:1)
当现有PDF文档具有空表单字段时,我们必须在添加字段之前创建表单。
请参阅以下代码段:
//Load the existing PDF document.
PdfLoadedDocument loadedDocument = new PdfLoadedDocument(inputfile);
//Create the form if the form does not exist in the loaded document
if (loadedDocument.Form == null)
loadedDocument.CreateForm();
如果您有任何疑虑,请告诉我们。