|
Foxit PDF SDK
|
Public 成员函数 | |
| Form (PDFDoc document) | |
| 构造函数,使用PDF文档。 更多... | |
| Form (Form other) | |
| 构造函数,使用另一个表单对象。 更多... | |
| Control | AddControl (PDFPage page, string field_name, Field.Type field_type, RectF rect) |
| 向指定表单字段添加新的表单控件。如果表单字段不存在,此函数也将 添加表单字段。(不支持签名字段) 更多... | |
| bool | ExportToCSV (string csv_file_path, string pdf_file_name, bool is_append) |
| 将表单数据导出到CSV文件。 更多... | |
| bool | ExportToCSV (StreamCallback csv_file, string pdf_file_name, bool is_append) |
| 将表单数据导出到CSV文件。 更多... | |
| bool | ExportToHTML (string html_file_path, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到HTML文件。 更多... | |
| bool | ExportToHTML (FileWriterCallback html_file, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到HTML文件。 更多... | |
| bool | ExportToTXT (string txt_file_path, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到TXT文件。 更多... | |
| bool | ExportToTXT (FileWriterCallback txt_file, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到TXT文件。 更多... | |
| bool | ExportToXML (string file_path) |
| 将表单数据导出到XML文件。 更多... | |
| bool | ExportToXML (string file_path, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到XML文件。 更多... | |
| bool | ExportToXML (FileWriterCallback xml_file, FieldArray field_array, bool is_include) |
| 将指定表单字段的数据导出到XML文件。 更多... | |
| void | FixPageFields (int page_index) |
| 修复在PDF页面中但无法被当前表单对象计数的字段。 更多... | |
| Alignment | GetAlignment () |
| 获取用作文档范围默认值的对齐值。 更多... | |
| Control | GetControl (PDFPage page, int index) |
| 在指定PDF页面中通过索引获取表单控件。 更多... | |
| Control | GetControlAtDevicePoint (PDFPage page, PointF point, float tolerance, Field.Type type, Matrix2D matrix) |
| 在设备坐标系统中的指定位置获取表单控件。 更多... | |
| Control | GetControlAtPoint (PDFPage page, PointF point, float tolerance, Field.Type type) |
| 在PDF坐标系统中的指定位置获取表单控件。 更多... | |
| int | GetControlCount (PDFPage page) |
| 获取指定PDF页面中的表单控件数量。 更多... | |
| DefaultAppearance | GetDefaultAppearance () |
| 获取默认外观数据。 更多... | |
| PDFDictionary | GetDict () |
| 获取当前对象的字典。 更多... | |
| PDFDoc | GetDocument () |
| 获取与当前表单对象关联的PDF文档。 更多... | |
| Field | GetField (int index, string filter) |
| 通过索引获取名称满足指定名称过滤器的表单字段。 更多... | |
| int | GetFieldCount (string filter) |
| 获取名称满足指定名称过滤器的表单字段数量。 更多... | |
| FieldArray | GetFieldsInCalculationOrder () |
| 获取按计算顺序排列的表单字段数组。 更多... | |
| Filler | GetFormFiller () |
| 获取表单填写器。 更多... | |
| bool | ImportFromXML (string file_path) |
| 从XML文件导入表单数据。 更多... | |
| bool | IsEmpty () |
| 检查当前对象是否为空。 更多... | |
| bool | MoveControl (Control control, string field_name) |
| 将控件移动到由字段名称指定的字段。 更多... | |
| bool | NeedConstructAppearances () |
| 检查加载表单控件时是否构造外观。 更多... | |
| void | RemoveControl (Control control) |
| 删除表单控件。(不支持从签名字段删除表单控件) 更多... | |
| void | RemoveField (Field field) |
| 删除表单字段。(不支持签名字段) 更多... | |
| bool | RenameField (Field field, string new_field_name) |
| 用新名称重命名字段。 更多... | |
| bool | Reset () |
| 将所有字段(签名字段除外)的数据重置为其默认值。 更多... | |
| void | SetAlignment (Alignment alignment) |
| 设置用作文档范围默认值的对齐值。 更多... | |
| void | SetConstructAppearances (bool need_construct) |
| 设置指定加载表单控件时是否构造外观的标志。 更多... | |
| void | SetDefaultAppearance (DefaultAppearance default_ap) |
| 设置默认外观数据。 更多... | |
| void | SetFieldsInCalculationOrder (FieldArray field_array) |
| 设置按计算顺序排列的表单字段数组。 更多... | |
| bool | ValidateFieldName (Field.Type type, string field_name) |
| 验证字段名称是否可用于指定字段类型的新字段。 更多... | |
交互式表单——有时称为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 检索填写器对象。(一个交互式表单只应有一个表单填写器对象)。
|
inline |
构造函数,使用PDF文档。
如果PDF文档没有AcroForm,此构造函数将向PDF文档添加一个空的AcroForm, 以便稍后可以向PDF文档添加新字段。
| [in] | document | 有效的PDF文档。 |
|
inline |
构造函数,使用另一个表单对象。
| [in] | other | 另一个表单对象。 |
|
inline |
向指定表单字段添加新的表单控件。如果表单字段不存在,此函数也将 添加表单字段。(不支持签名字段)
应用程序可以使用此函数添加新的表单控件:
如果指定的表单字段存在,将创建新的表单控件并设置到字段。
如果指定的表单字段不存在,将根据参数field_name和field_type 创建新的表单字段并添加到表单,同时创建新的表单控件。
表单字段是否存在,将通过输入参数field_name和field_type来判断。
如果用户想要添加新的签名字段,请使用函数pdf.PDFPage.AddSignature 而不是当前函数。
新添加的表单控件没有外观,因此用户应该使用Control类中的设置方法 或相关PDF字段或控件注释中的设置方法来设置会影响外观的属性。 类foxit.pdf.interform.Control 和Field 的一些设置方法可能 直接更新外观,但仍建议调用相关控件注释的函数 annots.Annot.ResetAppearanceStream 以确保外观确实会被更新。
对于按钮、复选框、单选按钮,如果用户在不设置任何属性的情况下直接调用函数 annots.Annot.ResetAppearanceStream ,将使用默认外观样式:
按钮:在相关控件注释中,背景色(在MK字典中)= 0xC0C0C0, 高亮模式 = foxit.pdf.annots.Annot.HighlightingMode.e_HighlightingPush 。
复选框/单选按钮:在相关控件注释中,边框宽度 = 1.0, 边框样式 = foxit.pdf.annots.BorderInfo.Style.e_Solid , 背景色(在MK字典中)= 0xFFFFFF,边框色(在MK字典中)= 0xFFFFFF。
| [in] | page | 有效的PDF页面,将在其中添加新的表单控件。它应该属于 与当前表单相同的PDF文档。 |
| [in] | field_name | 字段名称。它不应该是空字符串。 |
| [in] | field_type | 字段类型。请参考从foxit.pdf.interform.Field.Type.e_TypePushButton 开始的值, 这应该是其中一个值,除了foxit.pdf.interform.Field.Type.e_TypeSignature 。 如果这是foxit.pdf.interform.Field.Type.e_TypeSignature ,此函数将抛出异常 foxit.common.ErrorCode.e_ErrUnsupported 。 |
| [in] | rect | 新表单控件的矩形,指定在PDF页面中的位置。 它应该在PDF坐标系统中。 |
|
inline |
将表单数据导出到CSV文件。
| [in] | csv_file_path | CSV文件的完整文件路径。这指定了表单数据将导出到的CSV文件。 这不应该是空字符串。 |
| [in] | pdf_file_name | 当前PDF文档的文件名。此文件名将写入CSV文件。 这可以是空字符串。 |
| [in] | is_append | 布尔值,用于决定如果CSV文件存在,表单数据是否追加到CSV文件: true 表示将表单数据追加到现有CSV文件,false 表示不追加。 |
|
inline |
将表单数据导出到CSV文件。
| [in] | csv_file | 用户实现的foxit.common.fxcrt.StreamCallback 对象,用于将表单数据保存到CSV文件。 它不应该是null。请不要在写入回调函数中使用追加模式。 |
| [in] | pdf_file_name | 当前PDF文档的文件名。此文件名将写入CSV文件。 可以是空字符串。 |
| [in] | is_append | 用于决定如果CSV文件存在时是否将表单数据追加到CSV文件的布尔值: true 表示将表单数据追加到现有CSV文件,false 表示不追加。 |
|
inline |
将指定表单字段的数据导出到HTML文件。
| [in] | html_file_path | HTML文件的完整文件路径,指定表单字段的数据将导出到该文件。 它不应该是空字符串。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组,表示将导出所有表单字段的数据。 |
| [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值: true 表示将导出指定表单字段的数据,false 表示不导出指定表单字段的数据。 |
|
inline |
将指定表单字段的数据导出到HTML文件。
| [in] | html_file | 用户实现的foxit.common.fxcrt.FileWriterCallback 对象, 用于将指定表单字段的数据保存到HTML文件。它不应该是null。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组,表示将导出所有表单字段的数据。 |
| [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值: true 表示将导出指定表单字段的数据,false 表示不导出指定表单字段的数据。 |
|
inline |
将指定表单字段的数据导出到TXT文件。
| [in] | txt_file_path | TXT文件的完整文件路径,指定表单字段的数据将导出到该文件。 它不应该是空字符串。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组,表示将导出所有表单字段的数据。 |
| [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值: true 表示将导出指定表单字段的数据,false 表示不导出指定表单字段的数据。 |
|
inline |
将指定表单字段的数据导出到TXT文件。
| [in] | txt_file | 用户实现的foxit.common.fxcrt.FileWriterCallback 对象, 用于将指定表单字段的数据保存到TXT文件。它不应该是null。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否导出这些表单字段的数据。 如果这是一个空数组,表示将导出所有表单字段的数据。 |
| [in] | is_include | 用于决定是否导出指定表单字段数据的布尔值: true 表示将导出指定表单字段的数据,false 表示不导出指定表单字段的数据。 |
|
inline |
将表单数据导出到XML文件。
| [in] | file_path | XML文件的完整文件路径。 这指定了表单数据将导出到的XML文件。 |
|
inline |
将指定表单字段的数据导出到XML文件。
| [in] | file_path | XML文件的完整文件路径,指定表单字段的数据将导出到此文件。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否 导出这些表单字段的数据。如果这是空数组,意味着将导出所有表单字段的数据。 |
| [in] | is_include | 布尔值,用于决定是否导出指定表单字段的数据: true 表示导出指定表单字段的数据,false 表示 不导出指定表单字段的数据。 |
|
inline |
将指定表单字段的数据导出到XML文件。
| [in] | xml_file | 用户实现的foxit.common.fxcrt.FileWriterCallback 对象, 用于将指定表单字段的数据保存到XML文件。这不应该是null。 |
| [in] | field_array | 表单字段数组。参数is_include将决定是否 导出这些表单字段的数据。如果这是空数组,意味着将导出所有表单字段的数据。 |
| [in] | is_include | 布尔值,用于决定是否导出指定表单字段的数据: true 表示导出指定表单字段的数据,false 表示 不导出指定表单字段的数据。 |
|
inline |
修复在PDF页面中但无法被当前表单对象计数的字段。
如果指定页面中有许多字段,可能会花费很长时间。
| [in] | page_index | 页面索引。有效范围:从0到(count-1)。 count由函数PDFDoc.GetPageCount 返回。 |
|
inline |
获取用作文档范围默认值的对齐值。
对齐是可变文本的属性。仅适用于文本字段、列表框和组合框, 这些字段可能包含可变文本作为其内容。
如果文本字段或列表框有自己的对齐值,则将忽略文档范围的默认对齐值; 否则,将为文本字段或列表框使用文档范围的默认值。
在指定PDF页面中通过索引获取表单控件。
| [in] | page | 有效的PDF页面对象。它应该属于与当前表单相同的PDF文档。 |
| [in] | index | 要检索的表单控件索引。有效范围:从0到(count-1)。 count由函数Field.GetControlCount 使用 相同参数page返回。 |
|
inline |
在设备坐标系统中的指定位置获取表单控件。
| [in] | page | 有效的PDF页面对象。它应该与当前表单在同一文档中。 |
| [in] | point | 设备坐标系统中的位置。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
| [in] | type | 将检索其表单控件的字段类型。请参考从 foxit.pdf.interform.Field.Type.e_TypeUnknown 开始的值,这应该是其中一个值。 foxit.pdf.interform.Field.Type.e_TypeUnknown 表示不关心字段类型, 只检索指定位置的第一个表单控件。 |
| [in] | matrix | 变换矩阵。通常这由函数 pdf.PDFPage.GetDisplayMatrix 返回。如果这是null, 当前函数将具有与函数Form.GetControlAtPoint 相同的功能。 默认值:null。 |
|
inline |
在PDF坐标系统中的指定位置获取表单控件。
| [in] | page | 有效的PDF页面对象。它应该与当前表单在同一文档中。 |
| [in] | point | PDF坐标系统中的位置。 |
| [in] | tolerance | 容差值。有效范围:0.0f到30.0f。 |
| [in] | type | 将检索其表单控件的字段类型。请参考从 foxit.pdf.interform.Field.Type.e_TypeUnknown 开始的值,这应该是其中一个值。 foxit.pdf.interform.Field.Type.e_TypeUnknown 表示不关心字段类型, 只检索指定位置的第一个表单控件。 |
|
inline |
获取指定PDF页面中的表单控件数量。
| [in] | page | 有效的PDF页面对象。它应该属于与当前表单相同的PDF文档。 |
|
inline |
获取默认外观数据。
|
inline |
获取当前对象的字典。
|
inline |
获取与当前表单对象关联的PDF文档。
|
inline |
通过索引获取名称满足指定名称过滤器的表单字段。
| [in] | index | 要检索的表单字段索引。有效范围:从0到(count-1)。 count由函数Form.GetFieldCount 使用 相同参数filter返回。 |
| [in] | filter | 过滤器字符串。如果这是空字符串,意味着 计算所有表单字段;如果这是有效的,意味着计算那些名称 部分匹配参数filter的表单字段。例如, 如果参数filter是"text1",过滤器将匹配text1.0、text1.2.0等; 但不匹配test10或test11.1。 默认值:空字符串。 |
|
inline |
获取名称满足指定名称过滤器的表单字段数量。
| [in] | filter | 过滤器字符串。如果这是空字符串,意味着 计算所有表单字段;如果这是有效的,意味着计算那些名称 部分匹配参数filter的表单字段。例如, 如果参数filter是"text1",过滤器将匹配text1.0、text1.2.0等; 但不匹配test10或test11.1。 默认值:空字符串。 |
|
inline |
获取按计算顺序排列的表单字段数组。
计算顺序定义当任何字段的值更改时,字段值将重新计算的顺序。 通常,这些字段具有计算操作。
|
inline |
获取表单填写器。
|
inline |
从XML文件导入表单数据。
| [in] | file_path | 现有XML文件的完整文件路径。 这指定了将从中导入表单数据的XML文件。 |
|
inline |
检查当前对象是否为空。
当当前对象为空时,意味着当前对象无用。
|
inline |
将控件移动到由字段名称指定的字段。
当前函数对不同情况的操作:
如果由字段名称指定的字段不存在,将使用字段名称创建新字段, 控件将移动到此新字段。
如果由字段名称指定的字段存在且字段类型与控件当前所属的字段相同, 控件将合并到此字段。
如果由字段名称指定的字段存在但字段类型与控件当前所属的字段不同, 此函数将抛出异常foxit.common.ErrorCode.e_ErrConflict 。
| [in] | control | 有效的表单控件对象。 |
| [in] | field_name | 字段名称。它不应该是空字符串。 |
|
inline |
检查加载表单控件时是否构造外观。
|
inline |
删除表单控件。(不支持从签名字段删除表单控件)
如果指定的表单控件是相关表单字段的唯一表单控件,相关表单字段也将被删除。
| [in] | control | 要删除的表单控件。如果相关表单字段的字段类型是 foxit.pdf.interform.Field.Type.e_TypeSignature ,此函数将抛出异常foxit.common.ErrorCode.e_ErrUnsupported 。 |
|
inline |
删除表单字段。(不支持签名字段)
如果表单字段出现在多个PDF页面上,所有表示都将被删除。
如果用户想要删除签名字段,请使用函数pdf.PDFDoc.RemoveSignature 而不是当前函数。
| [in] | field | 要删除的表单字段。如果字段类型是foxit.pdf.interform.Field.Type.e_TypeSignature , 此函数将抛出异常foxit.common.ErrorCode.e_ErrUnsupported 。 |
|
inline |
用新名称重命名字段。
| [in] | field | 有效的表单字段对象。 |
| [in] | new_field_name | 新的字段名称。它不应该是空字符串。 |
|
inline |
将所有字段(签名字段除外)的数据重置为其默认值。
|
inline |
设置用作文档范围默认值的对齐值。
对齐是可变文本的属性。仅适用于文本字段、列表框和组合框, 这些字段可能包含可变文本作为其内容。
如果文本字段或列表框有自己的对齐值,则将忽略文档范围的默认对齐值; 否则,将为文本字段或列表框使用文档范围的默认值。
| [in] | alignment | 可变文本的新默认对齐类型。请参考从 foxit.common.Alignment.e_AlignmentLeft 开始的值,这应该是其中一个值。 如果使用其他值设置,默认将使用foxit.common.Alignment.e_AlignmentLeft 。 |
|
inline |
设置指定加载表单控件时是否构造外观的标志。
| [in] | need_construct | true 表示加载表单控件时构造外观, false 表示不构造。 |
|
inline |
设置默认外观数据。
| [in] | default_ap | 新的默认外观。输入数据的flags可用于决定 哪些信息要用新数据更新;对于那些没有更新的数据, 它们将继续使用旧数据。 如果输入默认外观数据的text_size为0,意味着文本大小 应该自动计算。 |
|
inline |
设置按计算顺序排列的表单字段数组。
计算顺序定义当任何字段的值更改时,字段值将重新计算的顺序。 通常,这些字段具有计算操作。
| [in] | field_array | 表单字段数组,用于指定新的计算顺序。 |
|
inline |
验证字段名称是否可用于指定字段类型的新字段。
此方法可用于检查字段名称是否可用于指定字段类型的新字段。 建议用户在使用函数Form.AddControl 添加带有新控件的新字段之前 调用此函数。
| [in] | type | 字段类型,将为其验证输入的字段名称。 |
| [in] | field_name | 字符串值。它不应该是空字符串。 |