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

ami*_*t_g 0 pdf pdf-generation itext itextsharp

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

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
Run Code Online (Sandbox Code Playgroud)

使用时

acroFields.SetField("TextField1", Value);
Run Code Online (Sandbox Code Playgroud)

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

acroFields.SetField("TextField2", Value);
Run Code Online (Sandbox Code Playgroud)

设置名为TextField2 的第一个文本字段的值。其余两个名为TextField2的字段保持不变。

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

Chr*_*aas 5

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

acroFields.SetField("form1[0].#subform[0].TextField2[0]", Value);
Run Code Online (Sandbox Code Playgroud)