Foxit PDF SDK

Public 成员函数 | 所有成员列表
foxit::pdf::interform::Form类 参考
类 foxit::pdf::interform::Form 继承关系图:

## Public 成员函数
| Form (const pdf::PDFDoc &document)
| 构造函数，使用PDF文档。 更多...
| Form (const Form &other)
| 构造函数，使用另一个表单对象。 更多...
| ~Form ()
| 析构函数。
Control | AddControl (const PDFPage &page, const wchar_t *field_name, Field::Type field_type, const RectF &rect)
| 向指定表单字段添加新的表单控件。如果表单字段不存在，此函数也将 添加表单字段。（不支持签名字段） 更多...
bool | ExportToCSV (const wchar_t *csv_file_path, const wchar_t *pdf_file_name, bool is_append)
| 将表单数据导出到CSV文件。 更多...
bool | ExportToCSV (foxit::common::file::StreamCallback *csv_file, const wchar_t *pdf_file_name, bool is_append)
| 将表单数据导出到CSV文件。 更多...
bool | ExportToHTML (const wchar_t *html_file_path, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到HTML文件。 更多...
bool | ExportToHTML (foxit::common::file::WriterCallback *html_file, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到HTML文件。 更多...
bool | ExportToTXT (const wchar_t *txt_file_path, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到TXT文件。 更多...
bool | ExportToTXT (foxit::common::file::WriterCallback *txt_file, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到TXT文件。 更多...
bool | ExportToXML (const char *file_path)
| 将表单数据导出到XML文件。 更多...
bool | ExportToXML (const wchar_t *file_path, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到XML文件。 更多...
bool | ExportToXML (foxit::common::file::WriterCallback *xml_file, const FieldArray &field_array, bool is_include)
| 将指定表单字段的数据导出到XML文件。 更多...
void | FixPageFields (int page_index)
| 修复在PDF页面中但无法被当前表单对象计数的字段。 更多...
common::Alignment | GetAlignment () const
| 获取用作文档范围默认值的对齐值。 更多...
Control | GetControl (const PDFPage &page, int index)
| 在指定PDF页面中通过索引获取表单控件。 更多...
Control | GetControlAtDevicePoint (const PDFPage &page, const PointF &point, float tolerance, Field::Type type, const Matrix *matrix=0)
| 在设备坐标系统中的指定位置获取表单控件。 更多...
Control | GetControlAtPoint (const PDFPage &page, const PointF &point, float tolerance, Field::Type type)
| 在PDF坐标系统中的指定位置获取表单控件。 更多...
int | GetControlCount (const PDFPage &page) const
| 获取指定PDF页面中的表单控件数量。 更多...
DefaultAppearance | GetDefaultAppearance () const
| 获取默认外观数据。 更多...
objects::PDFDictionary * | GetDict () const
| 获取当前对象的字典。 更多...
PDFDoc | GetDocument () const
| 获取与当前表单对象关联的PDF文档。 更多...
Field | GetField (int index, const wchar_t *filter=0)
| 通过索引获取名称满足指定名称过滤器的表单字段。 更多...
int | GetFieldCount (const wchar_t *filter=0) const
| 获取名称满足指定名称过滤器的表单字段数量。 更多...
FieldArray | GetFieldsInCalculationOrder ()
| 获取按计算顺序排列的表单字段数组。 更多...
Filler | GetFormFiller () const
| 获取表单填写器。 更多...
bool | ImportFromXML (const char *file_path)
| 从XML文件导入表单数据。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | MoveControl (Control &control, const wchar_t *field_name)
| 将控件移动到由字段名称指定的字段。 更多...
bool | NeedConstructAppearances () const
| 检查加载表单控件时是否构造外观。 更多...
bool | operator != (const Form &other) const
| 不等于操作符。 更多...
Form & | operator= (const Form &other)
| 赋值操作符。 更多...
bool | operator== (const Form &other) const
| 等于操作符。 更多...
void | RemoveControl (Control &control)
| 删除表单控件。（不支持从签名字段删除表单控件） 更多...
void | RemoveField (Field &field)
| 删除表单字段。（不支持签名字段） 更多...
bool | RenameField (Field &field, const wchar_t *new_field_name)
| 用新名称重命名字段。 更多...
bool | Reset ()
| 将所有字段（签名字段除外）的数据重置为其默认值。 更多...
void | SetAlignment (common::Alignment alignment)
| 设置用作文档范围默认值的对齐值。 更多...
void | SetConstructAppearances (bool need_construct)
| 设置指定加载表单控件时是否构造外观的标志。 更多...
void | SetDefaultAppearance (const DefaultAppearance &default_ap)
| 设置默认外观数据。 更多...
void | SetFieldsInCalculationOrder (const FieldArray &field_array)
| 设置按计算顺序排列的表单字段数组。 更多...
bool | ValidateFieldName (Field::Type type, const WString &field_name)
| 验证字段名称是否可用于指定字段类型的新字段。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

交互式表单——有时称为AcroForm——是一个用于从用户交互式收集信息的字段集合。 PDF文档可能包含出现在页面任意组合上的任意数量的字段，所有这些字段构成跨越整个文档的 单一全局交互式表单。这些字段的任意子集可以从文档导入或导出。
函数pdf::PDFDoc::HasForm可用于判断PDF文档是否有交互式表单。
表单对象可以从指定的PDF文档构造。此类提供检索表单字段 或表单控件、导入/导出表单数据和其他功能的函数。例如：

- 要检索表单字段，请使用函数Form::GetFieldCount和Form::GetField。
- 要从PDF页面检索表单控件，请使用函数Form::GetControlCount和 Form::GetControl。
- 要从XML文件导入表单数据，请使用函数Form::ImportFromXML； 要导出表单数据到XML文件，请使用函数Form::ExportToXML。
- 要检索表单填写器对象，请使用函数Form::GetFormFiller。

要从FDF/XFDF文件导入表单数据或将此类数据导出到FDF/XFDF文件，请参考函数 pdf::PDFDoc::ImportFromFDF和pdf::PDFDoc::ExportToFDF。
要填写表单，请通过当前表单对象构造表单填写器对象，或者如果此类对象已经构造， 请通过函数Form::GetFormFiller检索填写器对象。（一个交互式表单只应有一个表单填写器对象）。

参见
  pdf::PDFDoc
  Filler

## 构造及析构函数说明

## ◆ Form() [1/2]

foxit::pdf::interform::Form::Form | ( | const pdf::PDFDoc & | document | ) |
| explicit

构造函数，使用PDF文档。

如果PDF文档没有AcroForm，此构造函数将向PDF文档添加一个空的AcroForm， 以便稍后可以向PDF文档添加新字段。

参数

  [in] | document | 有效的PDF文档。

## ◆ Form() [2/2]

foxit::pdf::interform::Form::Form | ( | const Form & | other | ) |

构造函数，使用另一个表单对象。

参数

  [in] | other | 另一个表单对象。

## 成员函数说明

## ◆ AddControl()

Control foxit::pdf::interform::Form::AddControl | ( | const PDFPage & | page,
|  | const wchar_t * | field_name,
|  | Field::Type | field_type,
|  | const RectF & | rect
| ) |  |

向指定表单字段添加新的表单控件。如果表单字段不存在，此函数也将 添加表单字段。（不支持签名字段）

应用程序可以使用此函数添加新的表单控件：

- 如果指定的表单字段存在，将创建新的表单控件并设置到字段。
- 如果指定的表单字段不存在，将根据参数field_name和field_type 创建新的表单字段并添加到表单，同时创建新的表单控件。

表单字段是否存在，将通过输入参数field_name和field_type来判断。
如果用户想要添加新的签名字段，请使用函数pdf::PDFPage::AddSignature 而不是当前函数。
新添加的表单控件没有外观，因此用户应该使用Control类中的设置方法 或相关PDF字段或控件注释中的设置方法来设置会影响外观的属性。 类interform::Control和Field的一些设置方法可能 直接更新外观，但仍建议调用相关控件注释的函数 annots::Annot::ResetAppearanceStream以确保外观确实会被更新。
对于按钮、复选框、单选按钮，如果用户在不设置任何属性的情况下直接调用函数 annots::Annot::ResetAppearanceStream，将使用默认外观样式：

- 按钮：在相关控件注释中，背景色（在MK字典中）= 0xC0C0C0， 高亮模式 = annots::Annot::e_HighlightingPush。
- 复选框/单选按钮：在相关控件注释中，边框宽度 = 1.0， 边框样式 = annots::BorderInfo::e_Solid， 背景色（在MK字典中）= 0xFFFFFF，边框色（在MK字典中）= 0xFFFFFF。

参数

  [in] | page | 有效的PDF页面，将在其中添加新的表单控件。它应该属于 与当前表单相同的PDF文档。
  [in] | field_name | 字段名称。它不应该是空字符串。
  [in] | field_type | 字段类型。请参考从Field::e_TypePushButton开始的值， 这应该是其中一个值，除了Field::e_TypeSignature。 如果这是Field::e_TypeSignature，此函数将抛出异常 foxit::e_ErrUnsupported。
  [in] | rect | 新表单控件的矩形，指定在PDF页面中的位置。 它应该在PDF坐标系统中。

返回
  新添加的表单控件对象。

## ◆ ExportToCSV() [1/2]

bool foxit::pdf::interform::Form::ExportToCSV | ( | const wchar_t * | csv_file_path,
|  | const wchar_t * | pdf_file_name,
|  | bool | is_append
| ) |  |

将表单数据导出到CSV文件。

参数

  [in] | csv_file_path | CSV文件的完整文件路径。这指定了表单数据将导出到的CSV文件。 这不应该是空字符串。
  [in] | pdf_file_name | 当前PDF文档的文件名。此文件名将写入CSV文件。 这可以是空字符串。
  [in] | is_append | 布尔值，用于决定如果CSV文件存在，表单数据是否追加到CSV文件： true 表示将表单数据追加到现有CSV文件，false 表示不追加。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToCSV() [2/2]

bool foxit::pdf::interform::Form::ExportToCSV | ( | foxit::common::file::StreamCallback * | csv_file,
|  | const wchar_t * | pdf_file_name,
|  | bool | is_append
| ) |  |

将表单数据导出到CSV文件。

参数

  [in] | csv_file | 用户实现的common::file::StreamCallback对象，用于将表单数据保存到CSV文件。 它不应该是NULL。请不要在写入回调函数中使用追加模式。
  [in] | pdf_file_name | 当前PDF文档的文件名。此文件名将写入CSV文件。 可以是空字符串。
  [in] | is_append | 用于决定如果CSV文件存在时是否将表单数据追加到CSV文件的布尔值： true 表示将表单数据追加到现有CSV文件，false 表示不追加。

返回
  true means success, while false means failure.

## ◆ ExportToHTML() [1/2]

bool foxit::pdf::interform::Form::ExportToHTML | ( | const wchar_t * | html_file_path,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到HTML文件。

参数

  [in] | html_file_path | HTML文件的完整文件路径，指定表单字段的数据将导出到该文件。 它不应该是空字符串。
  [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组，表示将导出所有表单字段的数据。
  [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值： true 表示将导出指定表单字段的数据，false 表示不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToHTML() [2/2]

bool foxit::pdf::interform::Form::ExportToHTML | ( | foxit::common::file::WriterCallback * | html_file,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到HTML文件。

参数

  [in] | html_file | 用户实现的common::file::WriterCallback对象， 用于将指定表单字段的数据保存到HTML文件。它不应该是NULL。
  [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组，表示将导出所有表单字段的数据。
  [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值： true 表示将导出指定表单字段的数据，false 表示不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToTXT() [1/2]

bool foxit::pdf::interform::Form::ExportToTXT | ( | const wchar_t * | txt_file_path,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到TXT文件。

参数

  [in] | txt_file_path | TXT文件的完整文件路径，指定表单字段的数据将导出到该文件。 它不应该是空字符串。
  [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组，表示将导出所有表单字段的数据。
  [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值： true 表示将导出指定表单字段的数据，false 表示不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToTXT() [2/2]

bool foxit::pdf::interform::Form::ExportToTXT | ( | foxit::common::file::WriterCallback * | txt_file,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到TXT文件。

参数

  [in] | txt_file | 用户实现的common::file::WriterCallback对象， 用于将指定表单字段的数据保存到TXT文件。它不应该是NULL。
  [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组，表示将导出所有表单字段的数据。
  [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值： true 表示将导出指定表单字段的数据，false 表示不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToXML() [1/3]

bool foxit::pdf::interform::Form::ExportToXML | ( | const char * | file_path | ) |

将表单数据导出到XML文件。

参数

  [in] | file_path | XML文件的完整文件路径。 这指定了表单数据将导出到的XML文件。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToXML() [2/3]

bool foxit::pdf::interform::Form::ExportToXML | ( | const wchar_t * | file_path,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到XML文件。

参数

  [in] | file_path | XML文件的完整文件路径，指定表单字段的数据将导出到此文件。
  [in] | field_array | 表单字段数组。参数is_include将决定是否 导出这些表单字段的数据。如果这是空数组，意味着将导出所有表单字段的数据。
  [in] | is_include | 布尔值，用于决定是否导出指定表单字段的数据： true 表示导出指定表单字段的数据，false 表示 不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ ExportToXML() [3/3]

bool foxit::pdf::interform::Form::ExportToXML | ( | foxit::common::file::WriterCallback * | xml_file,
|  | const FieldArray & | field_array,
|  | bool | is_include
| ) |  |

将指定表单字段的数据导出到XML文件。

参数

  [in] | xml_file | 用户实现的common::file::WriterCallback对象， 用于将指定表单字段的数据保存到XML文件。这不应该是NULL。
  [in] | field_array | 表单字段数组。参数is_include将决定是否 导出这些表单字段的数据。如果这是空数组，意味着将导出所有表单字段的数据。
  [in] | is_include | 布尔值，用于决定是否导出指定表单字段的数据： true 表示导出指定表单字段的数据，false 表示 不导出指定表单字段的数据。

返回
  true 表示成功，false 表示失败。

## ◆ FixPageFields()

void foxit::pdf::interform::Form::FixPageFields | ( | int | page_index | ) |

修复在PDF页面中但无法被当前表单对象计数的字段。

如果指定页面中有许多字段，可能会花费很长时间。

参数

  [in] | page_index | 页面索引。有效范围：从0到(count-1)。 count由函数PDFDoc::GetPageCount返回。

返回
  无。

## ◆ GetAlignment()

common::Alignment foxit::pdf::interform::Form::GetAlignment | ( |  | ) | const

获取用作文档范围默认值的对齐值。

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

返回
  对齐值。请参考从common::e_AlignmentLeft开始的值， 这将是其中一个值。

## ◆ GetControl()

Control foxit::pdf::interform::Form::GetControl | ( | const PDFPage & | page,
|  | int | index
| ) |  |

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

参数

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

返回
  表单控件对象。

## ◆ GetControlAtDevicePoint()

Control foxit::pdf::interform::Form::GetControlAtDevicePoint | ( | const PDFPage & | page,
|  | const PointF & | point,
|  | float | tolerance,
|  | Field::Type | type,
|  | const Matrix * | matrix = `0`
| ) |  |

在设备坐标系统中的指定位置获取表单控件。

参数

  [in] | page | 有效的PDF页面对象。它应该与当前表单在同一文档中。
  [in] | point | 设备坐标系统中的位置。
  [in] | tolerance | 容差值。有效范围：0.0f到30.0f。
  [in] | type | 将检索其表单控件的字段类型。请参考从 Field::e_TypeUnknown开始的值，这应该是其中一个值。 Field::e_TypeUnknown表示不关心字段类型， 只检索指定位置的第一个表单控件。
  [in] | matrix | 变换矩阵。通常这由函数 pdf::PDFPage::GetDisplayMatrix返回。如果这是NULL， 当前函数将具有与函数Form::GetControlAtPoint相同的功能。 默认值：NULL。

返回
  表单控件对象。如果返回的表单控件对象的函数Control::IsEmpty的返回值 为true，则意味着指定位置周围没有合适的表单控件。

## ◆ GetControlAtPoint()

Control foxit::pdf::interform::Form::GetControlAtPoint | ( | const PDFPage & | page,
|  | const PointF & | point,
|  | float | tolerance,
|  | Field::Type | type
| ) |  |

在PDF坐标系统中的指定位置获取表单控件。

参数

  [in] | page | 有效的PDF页面对象。它应该与当前表单在同一文档中。
  [in] | point | PDF坐标系统中的位置。
  [in] | tolerance | 容差值。有效范围：0.0f到30.0f。
  [in] | type | 将检索其表单控件的字段类型。请参考从 Field::e_TypeUnknown开始的值，这应该是其中一个值。 Field::e_TypeUnknown表示不关心字段类型， 只检索指定位置的第一个表单控件。

返回
  表单控件对象。如果返回的表单控件对象的函数Control::IsEmpty的返回值 为true，则意味着指定位置周围没有合适的表单控件。

## ◆ GetControlCount()

int foxit::pdf::interform::Form::GetControlCount | ( | const PDFPage & | page | ) | const

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

参数

  [in] | page | 有效的PDF页面对象。它应该属于与当前表单相同的PDF文档。

返回
  指定PDF页面中表单控件的数量。

## ◆ GetDefaultAppearance()

DefaultAppearance foxit::pdf::interform::Form::GetDefaultAppearance | ( |  | ) | const

获取默认外观数据。

返回
  默认外观数据。

## ◆ GetDict()

objects::PDFDictionary* foxit::pdf::interform::Form::GetDict | ( |  | ) | const

获取当前对象的字典。

返回
  当前对象的字典。如果有任何错误，此函数将返回NULL。

## ◆ GetDocument()

PDFDoc foxit::pdf::interform::Form::GetDocument | ( |  | ) | const

获取与当前表单对象关联的PDF文档。

返回
  PDF文档对象。

## ◆ GetField()

Field foxit::pdf::interform::Form::GetField | ( | int | index,
|  | const wchar_t * | filter = `0`
| ) |  |

通过索引获取名称满足指定名称过滤器的表单字段。

参数

  [in] | index | 要检索的表单字段索引。有效范围：从0到(count-1)。 count由函数Form::GetFieldCount使用 相同参数filter返回。
  [in] | filter | 过滤器字符串。如果这是空字符串，意味着 计算所有表单字段；如果这是有效的，意味着计算那些名称 部分匹配参数filter的表单字段。例如， 如果参数filter是"text1"，过滤器将匹配text1.0、text1.2.0等； 但不匹配test10或test11.1。 默认值：空字符串。

返回
  表单字段对象。

## ◆ GetFieldCount()

int foxit::pdf::interform::Form::GetFieldCount | ( | const wchar_t * | filter = `0` | ) | const

获取名称满足指定名称过滤器的表单字段数量。

参数

  [in] | filter | 过滤器字符串。如果这是空字符串，意味着 计算所有表单字段；如果这是有效的，意味着计算那些名称 部分匹配参数filter的表单字段。例如， 如果参数filter是"text1"，过滤器将匹配text1.0、text1.2.0等； 但不匹配test10或test11.1。 默认值：空字符串。

返回
  具有指定名称过滤器的表单字段数量。

## ◆ GetFieldsInCalculationOrder()

FieldArray foxit::pdf::interform::Form::GetFieldsInCalculationOrder | ( |  | ) |

获取按计算顺序排列的表单字段数组。

计算顺序定义当任何字段的值更改时，字段值将重新计算的顺序。 通常，这些字段具有计算操作。

返回
  按计算顺序排列的表单字段数组。

## ◆ GetFormFiller()

Filler foxit::pdf::interform::Form::GetFormFiller | ( |  | ) | const

获取表单填写器。

返回
  填写器对象。如果返回的填写器对象的函数Filler::IsEmpty的返回值 为true，则意味着表单填写器尚未构造。 对于这种情况，请使用当前表单构造填写器。

## ◆ ImportFromXML()

bool foxit::pdf::interform::Form::ImportFromXML | ( | const char * | file_path | ) |

从XML文件导入表单数据。

参数

  [in] | file_path | 现有XML文件的完整文件路径。 这指定了将从中导入表单数据的XML文件。

返回
  true 表示成功，false 表示失败。

## ◆ IsEmpty()

bool foxit::pdf::interform::Form::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

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

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

## ◆ MoveControl()

bool foxit::pdf::interform::Form::MoveControl | ( | Control & | control,
|  | const wchar_t * | field_name
| ) |  |

将控件移动到由字段名称指定的字段。

当前函数对不同情况的操作：

- 如果由字段名称指定的字段不存在，将使用字段名称创建新字段， 控件将移动到此新字段。
- 如果由字段名称指定的字段存在且字段类型与控件当前所属的字段相同， 控件将合并到此字段。
- 如果由字段名称指定的字段存在但字段类型与控件当前所属的字段不同， 此函数将抛出异常foxit::e_ErrConflict。

参数

  [in] | control | 有效的表单控件对象。
  [in] | field_name | 字段名称。它不应该是空字符串。

返回
  true 表示成功，false 表示失败。

## ◆ NeedConstructAppearances()

bool foxit::pdf::interform::Form::NeedConstructAppearances | ( |  | ) | const

检查加载表单控件时是否构造外观。

返回
  true 表示加载表单控件时构造外观，false 表示不构造。

## ◆ operator !=()

bool foxit::pdf::interform::Form::operator != | ( | const Form & | other | ) | const

不等于操作符。

参数

  [in] | other | 另一个对象。此函数将检查当前对象是否不等于此对象。

返回
  true 表示不相等，false 表示相等。

## ◆ operator=()

Form& foxit::pdf::interform::Form::operator= | ( | const Form & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个表单对象，其值将被赋给当前对象。

返回
  对当前对象本身的引用。

## ◆ operator==()

bool foxit::pdf::interform::Form::operator== | ( | const Form & | other | ) | const

等于操作符。

参数

  [in] | other | 另一个对象。此函数将检查当前对象是否等于此对象。

返回
  true 表示相等，false 表示不相等。

## ◆ RemoveControl()

void foxit::pdf::interform::Form::RemoveControl | ( | Control & | control | ) |

删除表单控件。（不支持从签名字段删除表单控件）

如果指定的表单控件是相关表单字段的唯一表单控件，相关表单字段也将被删除。

参数

  [in] | control | 要删除的表单控件。如果相关表单字段的字段类型是 Field::e_TypeSignature，此函数将抛出异常foxit::e_ErrUnsupported。

返回
  无。

## ◆ RemoveField()

void foxit::pdf::interform::Form::RemoveField | ( | Field & | field | ) |

删除表单字段。（不支持签名字段）

如果表单字段出现在多个PDF页面上，所有表示都将被删除。
如果用户想要删除签名字段，请使用函数pdf::PDFDoc::RemoveSignature 而不是当前函数。

参数

  [in] | field | 要删除的表单字段。如果字段类型是Field::e_TypeSignature， 此函数将抛出异常foxit::e_ErrUnsupported。

返回
  无。

## ◆ RenameField()

bool foxit::pdf::interform::Form::RenameField | ( | Field & | field,
|  | const wchar_t * | new_field_name
| ) |  |

用新名称重命名字段。

参数

  [in] | field | 有效的表单字段对象。
  [in] | new_field_name | 新的字段名称。它不应该是空字符串。

返回
  true 表示成功，false 表示失败。

## ◆ Reset()

bool foxit::pdf::interform::Form::Reset | ( |  | ) |

将所有字段（签名字段除外）的数据重置为其默认值。

返回
  true 表示成功，false 表示失败。

## ◆ SetAlignment()

void foxit::pdf::interform::Form::SetAlignment | ( | common::Alignment | alignment | ) |

设置用作文档范围默认值的对齐值。

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

参数

  [in] | alignment | 可变文本的新默认对齐类型。请参考从 common::e_AlignmentLeft开始的值，这应该是其中一个值。 如果使用其他值设置，默认将使用common::e_AlignmentLeft。

返回
  无。

## ◆ SetConstructAppearances()

void foxit::pdf::interform::Form::SetConstructAppearances | ( | bool | need_construct | ) |

设置指定加载表单控件时是否构造外观的标志。

参数

  [in] | need_construct | true 表示加载表单控件时构造外观， false 表示不构造。

返回
  无。

## ◆ SetDefaultAppearance()

void foxit::pdf::interform::Form::SetDefaultAppearance | ( | const DefaultAppearance & | default_ap | ) |

设置默认外观数据。

参数

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

返回
  无。

## ◆ SetFieldsInCalculationOrder()

void foxit::pdf::interform::Form::SetFieldsInCalculationOrder | ( | const FieldArray & | field_array | ) |

设置按计算顺序排列的表单字段数组。

计算顺序定义当任何字段的值更改时，字段值将重新计算的顺序。 通常，这些字段具有计算操作。

参数

  [in] | field_array | 表单字段数组，用于指定新的计算顺序。

返回
  无。

## ◆ ValidateFieldName()

bool foxit::pdf::interform::Form::ValidateFieldName | ( | Field::Type | type,
|  | const WString & | field_name
| ) |  |

验证字段名称是否可用于指定字段类型的新字段。

此方法可用于检查字段名称是否可用于指定字段类型的新字段。 建议用户在使用函数Form::AddControl添加带有新控件的新字段之前 调用此函数。

参数

  [in] | type | 字段类型，将为其验证输入的字段名称。
  [in] | field_name | 字符串值。它不应该是空字符串。

返回
  true 表示输入的字段名称对指定字段类型有效，false 表示无效。