我想获得一些帮助来执行以下任务:我有一个带有 XFA 表单的 PDF 模板,使用 Adobe Lifecycle 创建,包含一个带有可填充字段的页眉、一个带有可填充字段的页脚和一个中间的文本框字段。我需要从头开始创建一个新的 PDF,我必须在填充后以编程方式获取模板的标题,在标题之后添加一些新内容(不使用任何表单字段),最后我们还必须从已经填写的PDF。
我尝试了类似以下的方法,但无法按名称/ID 获取元素:
public void ReadPDFformDataPageWise(string inputFile)
{
PdfReader reader = new PdfReader(inputFile);
AcroFields form = reader.AcroFields;
try
{
for (int page = 1; page <= reader.NumberOfPages; page++)
{
foreach (string key in form.Fields.Keys)
{
switch (form.GetFieldType(key))
{
case AcroFields.FIELD_TYPE_CHECKBOX:
//Create Checkbox
case AcroFields.FIELD_TYPE_COMBO:
//Create Combo Box
case AcroFields.FIELD_TYPE_LIST:
//Create List
case AcroFields.FIELD_TYPE_RADIOBUTTON:
//Create Radio button
case AcroFields.FIELD_TYPE_NONE:
case AcroFields.FIELD_TYPE_PUSHBUTTON:
//Create Submit Button
case AcroFields.FIELD_TYPE_SIGNATURE:
//Create Signature
case AcroFields.FIELD_TYPE_TEXT:
//Create textbox/Qs header
int fileType = form.GetFieldType(key);
string fieldValue = form.GetField(key);
float[] a = form.GetFieldPositions(key);
string translatedFileName = form.GetTranslatedFieldName(key);
AcroFields.Item test= form.GetFieldItem(key);
break;
}
}
}
}
catch
{
}
finally
{
reader.Close();
}
}
我想要类似的东西:
ReadPDFformDataPageWise(string inputFile, string elementToGet)
新的 PDF 内容可以有多个页面并且只是只读的(没有 XFA 元素)。谁能帮我完成这个任务?在按名称/元素填写后,我们可以使用 XFA 表单获取 PDF 的部分内容吗?