获得radiobutton组的价值

时间:2016-07-04 11:23:00

标签: c# asp.net itext

我在我的asp.net MVC项目中使用了itextsharp lib,在pdf文件中只有几个radiobutton组。此文件是在Adobe Acrobat软件中以可编辑的形式创建的。 当我显示所有可编辑字段的名称和类型(Get specific types from AcroField)时,遗憾的是只将radiobutton组的类型设为“RADIOBUTTON”,但不显示subradiobutton。

我该如何显示它?

提前感谢您的回答。

1 个答案:

答案 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");