如果不同类型的字段具有相同的FieldName,如何检查AcroField的类型? iTextSharp的

时间:2011-01-19 22:21:15

标签: itextsharp

如果有一个checkBox和一个具有相同FieldName的TextBox。 Acrofields将使用FieldName作为键。

如何向不同的字段发送适当的值? (true,false表示CheckBox,文本表示TextBox)

以下代码仅在不同类型的字段

没有重复的FieldName时才有效
        PdfReader pdfReader = new PdfReader(this._pdfInputPath);  
        AcroFields formFields = pdfReader.AcroFields;
        foreach (KeyValuePair<string, AcroFields.Item> kvp in formFields.Fields)
        {
            AcroFields.Item acroFieldItem = kvp.Value as AcroFields.Item;
            //TextField :4
            //CheckBox :2
            //RadioButton :3
            //ComboBox :6
            //ListBox :5
            //Button :1
            int fileType = formFields.GetFieldType(kvp.Key);
            string translatedFileName = formFields.GetTranslatedFieldName(kvp.Key);

谢谢!

1 个答案:

答案 0 :(得分:1)

在PDF中,如果两个字段共享一个名称,则它们共享一个值。周期。

你是如何通过两个不同字段TYPES共享相同名称的表单来的? Acrobat不会让你。 iText可能不足以阻止它。