iTextSharp acroFields.SetField方法和具有相同名称的多个表单字段

时间:2011-07-15 23:41:45

标签: pdf pdf-generation itextsharp itext

如果多个具有相同名称的字段iTextSharp acroFields.SetField(Name, Value)仅为第一个字段设置值。如何设置其余字段的值?通过acroFields.Field循环时,字段名称报告为

form1[0].#subform[0].TextField1[0] - TextField
form1[0].#subform[0].TextField2[0] - TextField
form1[0].#subform[0].TextField2[1] - TextField
form1[0].#subform[0].TextField2[2] - TextField

使用时

acroFields.SetField("TextField1", Value);

设置了名为TextField1的文本字段的值。只有一个名为TextField1的字段,所以很好。但是在使用时

acroFields.SetField("TextField2", Value);

设置了名为TextField2的 first 文本字段的值。名为TextField2的其余两个字段未设置。

PDF是使用Adobe LiveCycle创建的,并保存为静态PDF,即它不是动态XFA。

1 个答案:

答案 0 :(得分:5)

您可以使用完整的字段名称吗?

acroFields.SetField("form1[0].#subform[0].TextField2[0]", Value);