Foxit PDF SDK
foxit.pdf.interform.Field类 参考
类 foxit.pdf.interform.Field 继承关系图:
foxit.common.Base foxit.pdf.Signature foxit.pdf.PagingSealSignature

Public 类型

enum  Flags {
  Flags.e_FlagReadOnly = 0x01, Flags.e_FlagRequired = 0x02, Flags.e_FlagNoExport = 0x04, Flags.e_FlagButtonNoToggleToOff = 0x100,
  Flags.e_FlagButtonRadiosInUnison = 0x200, Flags.e_FlagTextMultiline = 0x100, Flags.e_FlagTextPassword = 0x200, Flags.e_FlagTextFileSelect = 0x400,
  Flags.e_FlagTextNoSpellCheck = 0x800, Flags.e_FlagTextDoNotScroll = 0x1000, Flags.e_FlagTextComb = 0x2000, Flags.e_FlagComboEdit = 0x100,
  Flags.e_FlagChoiceMultiSelect = 0x100, Flags.e_FlagTextRichText = 0x4000, Flags.e_FlagChoiceSort = 0x200, Flags.e_FlagChoiceCommitOnSelChange = 0x400
}
 表单字段标志的枚举。 更多...
 
enum  Type {
  Type.e_TypeUnknown = 0, Type.e_TypePushButton = 1, Type.e_TypeCheckBox = 2, Type.e_TypeRadioButton = 3,
  Type.e_TypeComboBox = 4, Type.e_TypeListBox = 5, Type.e_TypeTextField = 6, Type.e_TypeSignature = 7
}
 表单字段类型的枚举。 更多...
 

Public 成员函数

 Field (PDFDoc document, PDFDictionary field_dict)
 从字段字典构造函数。 更多...
 
 Field (Field field)
 构造函数,使用另一个表单字段对象。 更多...
 
Alignment GetAlignment ()
 获取对齐值。 更多...
 
string GetAlternateName ()
 获取备用名称。 更多...
 
Control GetControl (int index)
 通过索引获取表单控件。 更多...
 
Control GetControl (PDFPage page, int index)
 在指定PDF页面中通过索引获取表单控件。 更多...
 
int GetControlCount ()
 获取表单控件数量。 更多...
 
int GetControlCount (PDFPage page)
 获取指定PDF页面中的表单控件数量。 更多...
 
DefaultAppearance GetDefaultAppearance ()
 获取默认外观数据。 更多...
 
string GetDefaultValue ()
 获取默认值。 更多...
 
PDFObject GetDefaultValueObj ()
 获取字段默认值的PDF对象。 更多...
 
PDFDictionary GetDict ()
 获取当前对象的PDF字典。 更多...
 
int GetFlags ()
 获取字段标志。 更多...
 
PDFObject GetInheritedAttribute (string attribute_name)
 获取指定属性的PDF对象,该属性可能从字段树中的祖先节点继承。 更多...
 
string GetMappingName ()
 获取映射名称。 更多...
 
int GetMaxLength ()
 获取字段文本的最大长度(以字符为单位)。 更多...
 
string GetName ()
 获取字段名称。 更多...
 
ChoiceOptionArray GetOptions ()
 获取列表框或组合框的选项。 更多...
 
int GetTopVisibleIndex ()
 获取可滚动列表框的选项顶部索引。 更多...
 
Field.Type GetType ()
 获取字段类型。 更多...
 
string GetValue ()
 获取值。 更多...
 
PDFObject GetValueObj ()
 获取字段值的PDF对象。 更多...
 
bool IsEmpty ()
 检查当前对象是否为空。 更多...
 
bool Reset ()
 将当前字段中的数据重置为其默认值。(不支持签名字段) 更多...
 
void SetAlignment (Alignment alignment)
 设置表单的对齐属性,作为文档范围的默认值。(不支持签名字段) 更多...
 
void SetAlternateName (string alternate_name)
 设置备用名称。(不支持签名字段) 更多...
 
void SetDefaultAppearance (DefaultAppearance default_ap)
 设置默认外观数据。 更多...
 
void SetDefaultValue (string value)
 设置默认值。 更多...
 
void SetFlags (int flags)
 设置字段标志。 更多...
 
void SetMappingName (string name)
 设置映射名称。(不支持签名字段) 更多...
 
void SetMaxLength (int max_length)
 设置字段文本的最大长度(以字符为单位)。 更多...
 
void SetOptions (ChoiceOptionArray option_array)
 设置列表框或组合框的选项。 更多...
 
void SetTopVisibleIndex (int index)
 设置可滚动列表框的顶部索引。 更多...
 
void SetValue (string value)
 设置值。 更多...
 

详细描述

在PDF文档中,表单字段出现在页面的任何组合上,所有这些字段组成一个跨越整个文档的 单一全局交互式表单。函数Form.GetField 可用于从交互式表单获取表单字段。 此类提供了获取表单字段一些信息/属性、将表单字段重置为其默认值以及从表单字段获取 表单控件的函数。
当表单字段的类型为foxit.pdf.interform.Field.Type.e_TypeSignature 时, 表单字段对象实际上是一个签名对象。
要访问附加操作,请使用Field对象构造foxit.pdf.actions.AdditionalAction 对象。

参见
Form
foxit.pdf.Signature
foxit.pdf.actions.AdditionalAction

成员枚举类型说明

◆ Flags

表单字段标志的枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_FlagReadOnly 

如果设置,用户不能更改字段的值。任何关联的控件注释将不会 与用户交互;也就是说,它们不会响应鼠标点击或响应鼠标移动而改变外观。 此标志对于其值被计算或从数据库导入的字段很有用。

e_FlagRequired 

如果设置,字段在由提交表单操作导出时必须有一个值。

e_FlagNoExport 

如果设置,字段不能由提交表单操作导出。

e_FlagButtonNoToggleToOff 

(仅对单选按钮有用)如果设置,必须始终选择一个单选按钮; 点击当前选择的按钮没有效果。如果清除,点击选择的按钮会取消选择它, 不留下任何选择的按钮。

e_FlagButtonRadiosInUnison 

(仅对单选按钮有用)如果设置,单选按钮字段内使用相同开启状态值的 一组单选按钮将一致地开启和关闭;也就是如果一个被选中,它们都被选中。 如果清除,按钮是互斥的。

e_FlagTextMultiline 

(仅对文本字段有用)如果设置,文本字段可以包含多行文本; 如果清除,字段的文本限制为单行。

e_FlagTextPassword 

(仅对文本字段有用)如果设置,字段用于输入不应在屏幕上可见回显的安全密码。 从键盘输入的字符应该以某种不可读的形式回显,例如星号或项目符号字符。

注解
为了保护密码机密性,如果设置了此标志,查看器应用程序不应将文本字段的值 存储在PDF文件中。
e_FlagTextFileSelect 

(仅对文本字段有用)如果设置,在字段中输入的文本表示文件的路径名, 其内容将作为字段的值提交。

e_FlagTextNoSpellCheck 

(仅对文本字段有用)如果设置,在字段中输入的文本不进行拼写检查。

e_FlagTextDoNotScroll 

(仅对文本字段有用)如果设置,字段不滚动(单行字段水平滚动, 多行字段垂直滚动)以容纳超出其注释矩形的更多文本。 一旦字段满了,就不再接受更多文本。

e_FlagTextComb 

(仅对文本字段有用)如果设置,使用梳状格式。

如果设置,字段自动分为与字段文本最大长度值相等的等间距位置或梳状格, 文本被布局到这些梳状格中。

e_FlagComboEdit 

(仅对组合框有用)如果设置,组合框包括带有下拉列表的可编辑文本控件, 如果清除,它只包括下拉列表。

e_FlagChoiceMultiSelect 

(仅对列表框有用)如果设置,可以同时选择多个项目; if clear, no more than one item at a time may be selected.

e_FlagTextRichText 

(仅对文本字段有用)如果设置,此字段的值应表示为富文本字符串。

e_FlagChoiceSort 

(仅对选择字段有用)如果设置,字段的选项项应按字母顺序排序。

e_FlagChoiceCommitOnSelChange 

(仅对选择字段有用)如果设置,一旦用指点设备进行选择,新值就立即提交; 如果清除,新值直到用户退出字段时才提交。

◆ Type

表单字段类型的枚举。

此枚举的值应单独使用。

枚举值
e_TypeUnknown 

表单字段类型:未知。

e_TypePushButton 

表单字段类型:按钮。

e_TypeCheckBox 

表单字段类型:复选框。

e_TypeRadioButton 

表单字段类型:单选按钮。

e_TypeComboBox 

表单字段类型:组合框。

e_TypeListBox 

表单字段类型:列表框。

e_TypeTextField 

表单字段类型:文本字段。

e_TypeSignature 

表单字段类型:签名字段。

构造及析构函数说明

◆ Field() [1/2]

foxit.pdf.interform.Field.Field ( PDFDoc  document,
PDFDictionary  field_dict 
)
inline

从字段字典构造函数。

参数
[in]document一个有效的PDF文档。
[in]field_dict表示表单字段的PDF字典。它应该属于参数document指定的PDF文档。

◆ Field() [2/2]

foxit.pdf.interform.Field.Field ( Field  field)
inline

构造函数,使用另一个表单字段对象。

参数
[in]field另一个表单字段对象。

成员函数说明

◆ GetAlignment()

Alignment foxit.pdf.interform.Field.GetAlignment ( )
inline

获取对齐值。

对齐是可变文本的属性,仅对文本字段、列表框和组合框有用, 这些字段可能包含可变文本作为其内容。
如果文本字段或列表框有自己的对齐值,则将忽略文档范围的默认对齐值; 否则,将为文本字段或列表框使用文档范围的默认对齐值。

返回
对齐值。请参考从foxit.common.Alignment.e_AlignmentLeft 开始的值, 这将是其中一个值。

◆ GetAlternateName()

string foxit.pdf.interform.Field.GetAlternateName ( )
inline

获取备用名称。

备用字段名称用于在用户界面中必须标识字段的任何地方 (例如在引用字段的错误或状态消息中)代替实际字段名称。 此文本在提取文档内容以支持残障用户的可访问性或其他目的时也很有用。

返回
备用名称。

◆ GetControl() [1/2]

Control foxit.pdf.interform.Field.GetControl ( int  index)
inline

通过索引获取表单控件。

参数
[in]index表单控件索引。有效范围:从0到(count-1)。 count由函数Field.GetControlCount 返回。
返回
表单控件对象。

◆ GetControl() [2/2]

Control foxit.pdf.interform.Field.GetControl ( PDFPage  page,
int  index 
)
inline

在指定PDF页面中通过索引获取表单控件。

参数
[in]page有效的PDF页面对象。它应该与当前表单字段在同一文档中。
[in]index表单控件索引。有效范围:从0到(count-1)。 count由函数Field.GetControlCount 使用 相同参数page返回。
返回
表单控件对象。

◆ GetControlCount() [1/2]

int foxit.pdf.interform.Field.GetControlCount ( )
inline

获取表单控件数量。

返回
表单控件的数量。

◆ GetControlCount() [2/2]

int foxit.pdf.interform.Field.GetControlCount ( PDFPage  page)
inline

获取指定PDF页面中的表单控件数量。

参数
[in]page有效的PDF页面对象。它应该与当前表单字段在同一文档中。
返回
指定PDF页面中表单控件的数量。

◆ GetDefaultAppearance()

DefaultAppearance foxit.pdf.interform.Field.GetDefaultAppearance ( )
inline

获取默认外观数据。

返回
默认外观数据。

◆ GetDefaultValue()

string foxit.pdf.interform.Field.GetDefaultValue ( )
inline

获取默认值。

适用于除按钮以外的所有字段。

返回
默认值字符串。对于不适用的字段类型,将返回空字符串。

◆ GetDefaultValueObj()

PDFObject foxit.pdf.interform.Field.GetDefaultValueObj ( )
inline

获取字段默认值的PDF对象。

字段默认值的格式因字段类型而异。有关更多详细信息, 请参考《PDF参考1.7》P676中的"表8.69 所有字段字典的通用条目"。

返回
PDF对象。如果没有"DV"条目或发生任何错误,此函数将返回null

◆ GetDict()

PDFDictionary foxit.pdf.interform.Field.GetDict ( )
inline

获取当前对象的PDF字典。

返回
当前对象的PDF字典。如果有任何错误,函数将返回null

◆ GetFlags()

int foxit.pdf.interform.Field.GetFlags ( )
inline

获取字段标志。

字段标志指定表单字段的各种特征。

返回
表单字段标志。请参考从foxit.pdf.interform.Field.Flags.e_FlagReadOnly 开始的值, 这将是其中一个值或这些值的组合。

◆ GetInheritedAttribute()

PDFObject foxit.pdf.interform.Field.GetInheritedAttribute ( string  attribute_name)
inline

获取指定属性的PDF对象,该属性可能从字段树中的祖先节点继承。

某些字段属性被指定为可继承的,例如"Ff"、"V"、"DV"等。 请参考《PDF参考1.7》P675中的"表8.69 所有字段字典的通用条目"。 如果没有由attribute_name指定的条目或发生任何错误,此函数将返回null

参数
[in]attribute_name要查找的属性名称。
返回
PDF对象。如果未找到,此函数将返回null

◆ GetMappingName()

string foxit.pdf.interform.Field.GetMappingName ( )
inline

获取映射名称。

映射名称用于从文档导出交互式表单字段数据时使用。

返回
映射名称。

◆ GetMaxLength()

int foxit.pdf.interform.Field.GetMaxLength ( )
inline

获取字段文本的最大长度(以字符为单位)。

适用于文本字段。对于不适用的字段类型,此函数将返回0。

返回
字段文本的最大长度。

◆ GetName()

string foxit.pdf.interform.Field.GetName ( )
inline

获取字段名称。

返回
字段名称字符串。

◆ GetOptions()

ChoiceOptionArray foxit.pdf.interform.Field.GetOptions ( )
inline

获取列表框或组合框的选项。

适用于列表框和组合框。对于不适用的字段类型, 此函数将返回空数组。

返回
包含选项的数组。

◆ GetTopVisibleIndex()

int foxit.pdf.interform.Field.GetTopVisibleIndex ( )
inline

获取可滚动列表框的选项顶部索引。

适用于列表框。对于不适用的字段类型, 此函数将返回0。
选项的顶部索引是列表中第一个可见选项的索引。

返回
列表框可见范围内第一项的索引。

◆ GetType()

Field.Type foxit.pdf.interform.Field.GetType ( )
inline

获取字段类型。

返回
表单字段类型。请参考从foxit.pdf.interform.Field.Type.e_TypeUnknown 开始的值, 这将是其中一个值。

◆ GetValue()

string foxit.pdf.interform.Field.GetValue ( )
inline

获取值。

适用于除按钮以外的所有字段。 对于不适用的字段类型,将返回空字符串。 对于复选框和单选框,此函数将返回外观状态值。

返回
值字符串。特别地,当当前字段是具有多个值的列表框字段时, 只返回第一个值。

◆ GetValueObj()

PDFObject foxit.pdf.interform.Field.GetValueObj ( )
inline

获取字段值的PDF对象。

字段值的格式因字段类型而异。有关更多详细信息,请参考 《PDF参考1.7》P676中的"表8.69 所有字段字典的通用条目"。

返回
PDF对象。如果没有"V"条目或发生任何错误,此函数将返回null

◆ IsEmpty()

bool foxit.pdf.interform.Field.IsEmpty ( )
inline

检查当前对象是否为空。

当当前对象为空时,意味着当前对象无用。

返回
true 表示当前对象为空,false 表示非空。

◆ Reset()

bool foxit.pdf.interform.Field.Reset ( )
inline

将当前字段中的数据重置为其默认值。(不支持签名字段)

返回
true 表示成功,false 表示当前表单字段是签名字段或失败。

◆ SetAlignment()

void foxit.pdf.interform.Field.SetAlignment ( Alignment  alignment)
inline

设置表单的对齐属性,作为文档范围的默认值。(不支持签名字段)

对齐是可变文本的属性,仅对文本字段、列表框和组合框有用, 这些字段可能包含可变文本作为其内容。
如果文本字段或列表框有自己的对齐值,则将忽略文档范围的默认对齐值; 否则,将为文本字段或列表框使用文档范围的默认对齐值。
如果当前表单字段是签名字段,此函数不执行任何操作。

参数
[in]alignment可变文本的新默认对齐类型。请参考从 foxit.common.Alignment.e_AlignmentLeft 开始的值,这应该是其中一个值。
如果使用其他值设置,默认将使用foxit.common.Alignment.e_AlignmentLeft
返回
无。

◆ SetAlternateName()

void foxit.pdf.interform.Field.SetAlternateName ( string  alternate_name)
inline

设置备用名称。(不支持签名字段)

备用字段名称用于在用户界面中必须标识字段的任何地方 (例如在引用字段的错误或状态消息中)代替实际字段名称。 此文本在提取文档内容以支持残障用户的可访问性或其他目的时也很有用。
如果当前表单字段是签名字段,此函数不执行任何操作。

参数
[in]alternate_name新的备用名称字符串。它不应该是空字符串。
返回
无。

◆ SetDefaultAppearance()

void foxit.pdf.interform.Field.SetDefaultAppearance ( DefaultAppearance  default_ap)
inline

设置默认外观数据。

参数
[in]default_ap新的默认外观。输入数据的flags可用于决定 哪些信息要用新数据更新;对于那些没有更新的数据, 它们将继续使用旧数据。
如果输入默认外观数据的text_size为0,意味着文本大小 应该自动计算。
返回
无。

◆ SetDefaultValue()

void foxit.pdf.interform.Field.SetDefaultValue ( string  value)
inline

设置默认值。

适用于除按钮以外的所有字段。 对于不适用的字段类型,此函数不执行任何操作。

参数
[in]value新的默认值字符串。它不应该是空字符串。
返回
无。

◆ SetFlags()

void foxit.pdf.interform.Field.SetFlags ( int  flags)
inline

设置字段标志。

字段标志指定表单字段的各种特征。

参数
[in]flags新的表单字段标志。请参考从foxit.pdf.interform.Field.Flags.e_FlagReadOnly 开始的值, 这应该是其中一个值或这些值的组合。
返回
无。

◆ SetMappingName()

void foxit.pdf.interform.Field.SetMappingName ( string  name)
inline

设置映射名称。(不支持签名字段)

映射名称用于从文档导出交互式表单字段数据时使用。 如果当前表单字段是签名字段,此函数不执行任何操作。

参数
[in]name新的映射名称字符串。它不应该是空字符串。
返回
无。

◆ SetMaxLength()

void foxit.pdf.interform.Field.SetMaxLength ( int  max_length)
inline

设置字段文本的最大长度(以字符为单位)。

适用于文本字段。对于不适用的字段类型,此函数不执行任何操作。

参数
[in]max_length字段文本的新最大长度。它应该是非负数。
返回
无。

◆ SetOptions()

void foxit.pdf.interform.Field.SetOptions ( ChoiceOptionArray  option_array)
inline

设置列表框或组合框的选项。

适用于列表框和组合框。对于不适用的字段类型, 此函数不执行任何操作。

参数
[in]option_array要设置到列表框或组合框的选项数组。
返回
无。

◆ SetTopVisibleIndex()

void foxit.pdf.interform.Field.SetTopVisibleIndex ( int  index)
inline

设置可滚动列表框的顶部索引。

适用于列表框。对于不适用的字段类型, 此函数不执行任何操作。
选项的顶部索引是列表中第一个可见选项的索引。

参数
[in]index列表中第一个可见选项的索引。
返回
无。

◆ SetValue()

void foxit.pdf.interform.Field.SetValue ( string  value)
inline

设置值。

适用于除按钮以外的所有字段。对于不适用的字段类型, 此函数不执行任何操作。
特别地,对于组合框和文本字段,当成功设置值时,此函数还将 触发相关的计算和格式化事件并更新字段的外观。

参数
[in]value新值字符串。特别地,当当前字段是列表框字段时,此参数可以 包含多个值:
当要设置多个值时,每个值应该用"()"包装。例如, "(ABC)(CCC)" 表示设置两个值 "ABC" 和 "CCC"。
如果值包含"()"或"\\"作为其内容,请在每个"()"或"\\"字符前 添加额外的"\\"作为转义字符。例如:
  • "ABC" 表示设置值 "ABC"。

  • "(ABC)" 表示设置值 "ABC"。

  • "(ABC" 表示设置值 "(ABC"。

  • "(\\\\(ABC\\\\)\\\\(BBB\\\\)\\\\(CCC\\\\))" 表示设置值 "(ABC)(BBB)(CCC)"。

  • "456\\\\\\\\" 表示设置值 "456\\"。

  • "(\\\\(ABC\\\\))" 表示设置值 "(ABC)"。

返回
无。