我在我的asp.net MVC项目中使用了itextsharp lib,在pdf文件中只有几个radiobutton组。此文件是在Adobe Acrobat软件中以可编辑的形式创建的。 当我显示所有可编辑字段的名称和类型(Get specific types from AcroField)时,遗憾的是只将radiobutton组的类型设为“RADIOBUTTON”,但不显示subradiobutton。
我该如何显示它?
提前感谢您的回答。
答案 0 :(得分:0)
没有“subradiobutton”类型的东西。如果你不相信我,请检查ISO-32000-1。
字段的层次结构是通过字段的名称建立的。请参阅我对问题iTextSharp RenameField bug?的回答。字段名称中的点指的是层次结构。
例如:如果您有一个名为person
的字段;这个字段可以有孩子,如
name
和address
。这些子字段的完全限定名称将为:
person.name
和person.address
。地址又可以包含子字段,例如:
street
,city
和country
。这会产生完全限定的名称,例如:
person.address.street
,person.address.city
和person.address.country
。如果您正在寻找“subradiobuttons”,您应该查看字段的完全限定名称,并检查它们有多少个点(.
)。
您可能也对无线电场和单选按钮之间的区别感到困惑。无线电场是具有特定名称的字段,例如, language
。可以通过单击许多单选按钮中的一个来选择language
的值。这些按钮是具有两种外观状态(选中和未选中)的窗口小部件注释。如果您想知道无线电场的可能值,您需要获得那些外观状态。
您已经在How to get specific types from AcroFields? Like PushButtonField, RadioCheckField, etc中看到了执行此操作所需的方法:
form.GetAppearanceStates("language");