by Mark Gavin
We found a case where the value of a ComboBox Field does not display properly when using Acrobat. The same field value displays properly using Apple Preview or the Google Chrome PDF viewer.
The field flags show that this is not a MultiSelect field; however, the field dictionary contains an “I” array with a single array item whose value is “0”. Since the field is not a MultiSelect field the “I” array should not be present in this field dictionary. The function of the “I” array is to specify which elements within the Options array should be selected when the field supports multiple selections.
AP /N -stream- DA /HeBo 10 Tf 0.25 0.25 0.25 rg DV F 4 (Symbolic) FT Ch Ff 4587520 I 0 MK Opt TestData1 TestData2 P /Annots -array- /Contents -array- /CropBox -array- /MediaBox -array- /Parent -dict- /Resources -dict- /Rotate 0 /Tabs R /Type Page Rect 289.073 782.743 495.08 798.815 Subtype Widget T theFieldTitle Type Annot V TestData2
Please see ISO-32000 Table 231- Additional entries specific to a Choice field. I Array
“If the items identified by this entry differ from those in the V entry of the field dictionary (see discussion following this Table), the V entry shall be used.”
The Value of the field has been set correctly but is not being displayed properly because Acrobat is ignoring the priority as defined by ISO-32000. Acrobat is using the index value located in the “I” array and always displays the first value in the Options array. Changing the value in the “I” array to 1 causes Acrobat to display the correct Value.
When displaying the value of a non-MultiSelect field, Acrobat should be ignoring the “I” array if it is present in the form field dictionary.