0
同じ名前の複数のフィールドの場合iTextSharp acroFields.SetField(Name, Value)
は最初のフィールドのみの値を設定します。残りのフィールドの値を設定するにはどうすればよいですか? acroFields.FieldsスルーループするとiTextSharp acroFields.SetFieldメソッドと同じ名前の複数のフォームフィールド
acroFields.SetField("TextField1", Value);
テキストフィールド1が設定されているという名前のテキストフィールドの値を使用する場合は、フィールド名が
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
として報告されています。 TextField1という名前のフィールドが1つしかないので、問題ありません。しかし
acroFields.SetField("TextField2", Value);
のTextField2が設定されているとして名前最初テキストフィールドの値を使用した場合。 TextField2という名前の残りの2つのフィールドは、未設定のままです。
PDFはAdobe LiveCycleで作成され、静的PDFとして保存されます。つまり、動的XFAではありません。
よくフィールド名は関連する名前です。 CustomerFirstName、CustomerAddress1など。現在、CustomerFirstNameが複数回使用された場合、acroFields.SetField( "CustomerFirstName"、Value);最初のフィールドにのみ値を設定します。私はあなたに提案されたものと同様の回避策を使用していますが、APIがより単純な方法を提供すると思います。 –
@amit_gあなたの回避策が正確に何だったと言えますか? – d456
@ d456の場合は、答えに示されているように完全修飾名を使用します。 –