Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::XFADoc类 参考

## Public 成员函数
| XFADoc (document)
| 构造函数。 更多...
| constructor (document, xfa_doc_provider_handler)
| 构造函数。 更多...
| ExportData (output_file_path, export_type)
| 将数据导出到文件。 更多...
| ExportData (output_file_path, export_type)
| 将数据导出到文件。 更多...
| ExportData (stream, export_type)
| 将数据导出到 FSDK.FileWriterCallback 对象。 更多...
| FlattenTo (output_file_path)
| 将当前 XFA 文档拼合到文件。 更多...
| FlattenTo (output_file_path)
| 将当前 XFA 文档拼合到文件。 更多...
| FlattenTo (stream)
| 将当前 XFA 文档拼合到文件流。 更多...
| GetPage (page_index)
| 按索引获取 XFA 页面。 更多...
| GetPageCount ()
| 获取 XFA 页面计数。 更多...
| GetType ()
| 获取 XFA 文档类型。 更多...
| GetWidgetByFullName (full_name)
| 获取与指定完整名称匹配的 XFA 小部件。 更多...
| ImportData (file_path)
| 从 XML 或 XDP 文件导入数据。 更多...
| ImportData (file_path)
| 从 XML 或 XDP 文件导入数据。 更多...
| ImportData (file_reader)
| 从 FSDK.FileReaderCallback 对象导入数据。 更多...
| IsEmpty ()
| 检查当前对象是否为空。 更多...
| KillFocus ()
| 取消 XFA 小部件的焦点。 更多...
| ProcessEvent (event_type)
| 为当前 XFA 文档中的所有 XFA 小部件处理一种事件。 更多...
| ResetForm ()
| 重置表单。 更多...
| SetDocProviderCallback (doc_provider_callback)
| 设置 XFA 文档提供程序回调。 更多...
| SetFocus (xfa_widget)
| 设置 XFA 小部件的焦点。 更多...
| SetPDFPath (pdf_file_path)
| 设置相关 PDF 文档的路径。 更多...
| SetPDFPath (pdf_file_path)
| 设置相关 PDF 文档的路径。 更多...
| StartLoad (pause)
| 开始加载当前 XFA 文档的内容。 更多...

## 静态 Public 属性
static | e_Dynamic
| XFA 文档类型的枚举。 更多...
static | e_EventTypeCalculate
| 此类事件表示计算操作。
static | e_EventTypeChange
| 此类事件在用户更改字段值时触发。
static | e_EventTypeClick
| 此类事件在用户单击字段时触发。
static | e_EventTypeDocClose
| 此类事件在处理结束时触发（当且仅当所有验证都成功时）。
static | e_EventTypeDocReady
| 此类事件在文档渲染之前但在数据绑定之后触发。
static | e_EventTypeEnter
| 此类事件在字段获得键盘焦点时触发，无论是由用户操作（通过 Tab 键进入字段或使用鼠标单击） 还是由脚本以编程方式设置焦点引起。preSubmit 事件仅适用于 Form DOM ($form)。
static | e_EventTypeExit
| 此类事件在键盘焦点从子表单内的字段直接或间接地转移到子表单外的字段或其他对象时触发。
static | e_EventTypeFull
| 此类事件在用户输入了字段允许的最大内容量并尝试输入更多内容时触发。
static | e_EventTypeIndexChange
| 此类事件被触发以告知对象它刚刚被添加到数组或其在数组中的位置（其下标）已更改。
static | e_EventTypeInitCalculate
| 此类事件表示第一次运行计算。
static | e_EventTypeInitialize
| 此类事件在数据绑定完成后触发。
static | e_EventTypeInitVariables
| 此类事件不是真正的事件活动，只是变量中的签名脚本。
static | e_EventTypeMouseDown
| 此类事件在某个时刻按下鼠标按钮并且鼠标指针位于该区域内时触发。
static | e_EventTypeMouseEnter
| 此类事件在用户将鼠标指针移动到字段区域内时触发，无需按下鼠标按钮。
static | e_EventTypeMouseExit
| 此类事件在用户将鼠标指针移出字段时触发，无论鼠标按钮是否被按下。
static | e_EventTypeMouseUp
| 此类事件在某个时刻释放鼠标按钮并且鼠标指针位于该区域内时触发。
static | e_EventTypePostExecute
| 此类事件在成功的 WSDL 事务之后、接收到请求的回复并且接收的数据在连接数据 DOM 中编组之后立即触发。
static | e_EventTypePostOpen
| 此类事件与下拉选项列表的预打开事件相关。
static | e_EventTypePostPrint
| 此类事件在渲染的表单已发送到打印机、后台处理程序或输出目标之后立即触发。
static | e_EventTypePostSave
| 此类事件在表单以 PDF 或 XDP 格式写出之后立即触发。
static | e_EventTypePostSign
| 此类事件在成功应用签名后触发。
static | e_EventTypePostSubmit
| 此类事件在返回的数据在连接数据 DOM 中编组之后立即触发。
static | e_EventTypePreExecute
| 此类事件在通过 WSDL 向 Web 服务发送请求时触发，在数据已在连接数据 DOM 中编组之后但在发送请求之前。
static | e_EventTypePreOpen
| 此类事件仅适用于 open="userControl" 或 open="onEntry" 的下拉选项列表。 该事件旨在触发向选项列表添加选项和从选项列表中删除选项的脚本。
static | e_EventTypePrePrint
| 此类事件在打印渲染开始之前触发。
static | e_EventTypePreSave
| 此类事件在表单数据以 PDF 或 XDP 格式写出之前触发。
static | e_EventTypePreSign
| 此类事件在即将应用签名时触发。
static | e_EventTypePreSubmit
| 此类事件在数据已在连接数据 DOM 中编组之后但在验证之前和数据提交到主机之前触发。
static | e_EventTypeReady
| 此类事件在 XFA DOM 加载完成后触发。
static | e_EventTypeUnknown
| XFA 事件类型的枚举。 更多...
static | e_EventTypeValidate
| 此类事件表示验证操作。
static | e_EventTypeValidationState
| 此类事件在目标的验证状态发生变化时触发。
static | e_ExportDataTypeStaticXDP
| 导出数据类型：静态 XDP。
static | e_ExportDataTypeXDP
| 导出数据类型：XDP。
static | e_ExportDataTypeXML
| 导出数据类型的枚举。 更多...
static | e_Static
| XFA 文档类型：静态。
static | e_XDP
| XFA 文档类型：XDP，作为原始 XML 数据。

## 详细描述

FSDK.XFADoc 类从已加载的 PDF 文档对象构造，以便更清楚地访问 XFA 内容。 用户在使用 XFA 模块之前必须调用 FSDK.Library.RegisterXFAAppProviderCallback。 对于新构造的 XFA 对象，在使用 XFA 类中的其他函数之前，请记得调用函数 FSDK.XFADoc.StartLoad。
要在 XFA 文档中搜索，请使用 FSDK.XFADoc 对象构造一个 FSDK.TextSearch 对象。

参见
  FSDK.TextSearch

## 构造及析构函数说明

## ◆ XFADoc()

FSDK::XFADoc::XFADoc | ( | document |  | ) |

构造函数。

通过此构造函数成功构造 XFADoc 时，用户必须通过函数 FSDK.XFADoc.SetDocProviderCallback 设置 XFA 文档提供程序回调。

参数

  [in] | document | 有效的 PDF 文档。它应该已成功加载。

注解
  如果在函数 中使用的许可证信息中未定义模块 "XFA"， 这意味着用户无权使用 XFA 相关函数， 此构造函数将抛出异常 FSDK.e_ErrNoXFAModuleRight 。

## 成员函数说明

## ◆ constructor()

FSDK::XFADoc::constructor | ( | document | ,
|  | xfa_doc_provider_handler |
| ) |  |

构造函数。

参数

  [in] | document | 有效的 PDF 文档。它应该已成功加载。
  [in] | xfa_doc_provider_handler | 由用户实现并基于回调类 FSDK.DocProviderCallback 的 XFA 文档提供程序回调对象。 它不应为 null。用户应确保此回调对象在 相关 PDF 文档被释放之前保持有效。

注解
  如果在函数 中使用的许可证信息中未定义模块 "XFA"， 这意味着用户无权使用 XFA 相关函数， 此构造函数将抛出异常 FSDK.e_ErrNoXFAModuleRight 。

## ◆ ExportData() [1/3]

FSDK::XFADoc::ExportData | ( | output_file_path | ,
|  | export_type |
| ) |  |

将数据导出到文件。

参数

  [in] | output_file_path | 文件路径，数据将导出到该路径。
  [in] | export_type | 导出类型。请参阅从 FSDK.XFADoc.e_ExportDataTypeXML 开始的值，并且该值应为这些值之一。

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

## ◆ ExportData() [2/3]

FSDK::XFADoc::ExportData | ( | output_file_path | ,
|  | export_type |
| ) |  |

将数据导出到文件。

参数

  [in] | output_file_path | 文件路径，数据将导出到该路径。
  [in] | export_type | 导出类型。请参阅从 FSDK.XFADoc.e_ExportDataTypeXML 开始的值，并且该值应为这些值之一。

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

## ◆ ExportData() [3/3]

FSDK::XFADoc::ExportData | ( | stream | ,
|  | export_type |
| ) |  |

将数据导出到 FSDK.FileWriterCallback 对象。

参数

  [in] | stream | 由用户实现的 FSDK.FileWriterCallback 对象，用于保存导出的数据。
  [in] | export_type | 导出类型。请参阅从 XFADoc.e_ExportDataTypeXML 开始的值，并且该值应为这些值之一。

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

## ◆ FlattenTo() [1/3]

FSDK::XFADoc::FlattenTo | ( | output_file_path |  | ) |

将当前 XFA 文档拼合到文件。

参数

  [in] | output_file_path | 文件路径，拼合结果将保存到该路径。

返回
  无。

## ◆ FlattenTo() [2/3]

FSDK::XFADoc::FlattenTo | ( | output_file_path |  | ) |

将当前 XFA 文档拼合到文件。

参数

  [in] | output_file_path | 文件路径，拼合结果将保存到该路径。

返回
  无。

## ◆ FlattenTo() [3/3]

FSDK::XFADoc::FlattenTo | ( | stream |  | ) |

将当前 XFA 文档拼合到文件流。

参数

  [in] | stream | 由用户实现的 FSDK.StreamCallback 对象，用于保存拼合结果。

返回
  无。

## ◆ GetPage()

FSDK::XFADoc::GetPage | ( | page_index |  | ) |

按索引获取 XFA 页面。

参数

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

返回
  XFA 页面。

## ◆ GetPageCount()

FSDK::XFADoc::GetPageCount | ( |  | ) |

获取 XFA 页面计数。

返回
  页面计数。

## ◆ GetType()

FSDK::XFADoc::GetType | ( |  | ) |

获取 XFA 文档类型。

返回
  XFA 文档的类型。请参阅从 FSDK.XFADoc.e_Dynamic 开始的值，并且该值应为这些值之一。

## ◆ GetWidgetByFullName()

FSDK::XFADoc::GetWidgetByFullName | ( | full_name |  | ) |

获取与指定完整名称匹配的 XFA 小部件。

某些 XFA 小部件可能覆盖多个 XFA 页面。在这种情况下，此函数只能用于 获取 XFA 文档中第一个匹配的 XFA 小部件。用户还可以使用函数 FSDK.XFAPage.GetWidgetByFullName 来获取 XFA 页面中匹配的 XFA 小部件。

参数

  [in] | full_name | XFA 小部件的完整名称。它不应为空字符串。 XFA 小部件的完整名称可以通过函数 FSDK.XFAWidget.GetName 使用类型 FSDK.XFAWidget.e_WidgetNameTypeFullName 在之前的过程中检索。

返回
  XFA 小部件对象。

## ◆ ImportData() [1/3]

FSDK::XFADoc::ImportData | ( | file_path |  | ) |

从 XML 或 XDP 文件导入数据。

参数

  [in] | file_path | 源文件的路径，其数据将导入到当前 XFA 文档。 它应该是 XML 或 XDP 文件，文件扩展名应该是 ".xml" 或 ".xdp"。

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

## ◆ ImportData() [2/3]

FSDK::XFADoc::ImportData | ( | file_path |  | ) |

从 XML 或 XDP 文件导入数据。

参数

  [in] | file_path | 源文件的路径，其数据将导入到当前 XFA 文档。 它应该是 XML 或 XDP 文件，文件扩展名应该是 ".xml" 或 ".xdp"。

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

## ◆ ImportData() [3/3]

FSDK::XFADoc::ImportData | ( | file_reader |  | ) |

从 FSDK.FileReaderCallback 对象导入数据。

参数

  [in] | file_reader | 一个 FSDK.FileReaderCallback 对象，其数据将导入到当前 XFA 文档。 它应该是 XML 或 XDP 文件。

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

## ◆ IsEmpty()

FSDK::XFADoc::IsEmpty | ( |  | ) |

检查当前对象是否为空。

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

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

## ◆ KillFocus()

FSDK::XFADoc::KillFocus | ( |  | ) |

取消 XFA 小部件的焦点。

返回
  无。

## ◆ ProcessEvent()

FSDK::XFADoc::ProcessEvent | ( | event_type |  | ) |

为当前 XFA 文档中的所有 XFA 小部件处理一种事件。

参数

  [in] | event_type | 事件类型。请参阅从 FSDK.XFADoc.e_EventTypePostPrint 开始的值， 并且该值应为这些值之一，但 FSDK.XFADoc.e_EventTypeUnknown 除外。

返回
  无。

## ◆ ResetForm()

FSDK::XFADoc::ResetForm | ( |  | ) |

重置表单。

返回
  无。

## ◆ SetDocProviderCallback()

FSDK::XFADoc::SetDocProviderCallback | ( | doc_provider_callback |  | ) |

设置 XFA 文档提供程序回调。

参数

  [in] | doc_provider_callback | 由用户实现并基于回调类 FSDK.DocProviderCallback 的 XFA 文档提供程序回调对象。 它不应为 null。用户应确保此回调对象在 相关 PDF 文档被释放之前保持有效。

返回
  无。

## ◆ SetFocus()

FSDK::XFADoc::SetFocus | ( | xfa_widget |  | ) |

设置 XFA 小部件的焦点。

参数

  [in] | xfa_widget | 将获得焦点的 XFA 小部件。

返回
  无。

## ◆ SetPDFPath() [1/2]

FSDK::XFADoc::SetPDFPath | ( | pdf_file_path |  | ) |

设置相关 PDF 文档的路径。

PDF 路径将在函数 FSDK.XFADoc.ExportData 中使用，作为导出数据的一部分。

参数

  [in] | pdf_file_path | 相关 PDF 文档的文件路径。它可以是绝对路径或 相对路径。它不应是空字符串。

返回
  无。

## ◆ SetPDFPath() [2/2]

FSDK::XFADoc::SetPDFPath | ( | pdf_file_path |  | ) |

设置相关 PDF 文档的路径。

PDF 路径将在函数 FSDK.XFADoc.ExportData 中使用，作为导出数据的一部分。

参数

  [in] | pdf_file_path | 相关 PDF 文档的文件路径。它可以是绝对路径或 相对路径。它不应是空字符串。

返回
  无。

## ◆ StartLoad()

FSDK::XFADoc::StartLoad | ( | pause |  | ) |

开始加载当前 XFA 文档的内容。

加载 XFA 内容可能需要很长时间，因此此函数使用渐进式过程来执行此操作。
相关的 PDF 文档对象已被加载，但仅加载了 PDF 相关内容。 因此，为了访问 XFA 内容，应调用此函数来加载 XFA 内容。

参数

  [in] | pause | 暂停对象，决定导入过程是否需要暂停。 这可以是 null，表示在解析过程中不暂停。 如果这不是 null，它应该是由用户实现的有效暂停对象。 默认值：null。

返回
  渐进式对象。请通过函数 FSDK.Progressive.GetRateOfProgress 检查当前进度的速率。 如果速率尚未达到 100，请调用函数 FSDK.Progressive.Continue 继续进度，直到进度完成。

## 类成员变量说明

## ◆ e_Dynamic

FSDK::XFADoc::e_Dynamic
| static

XFA 文档类型的枚举。

此枚举的值应单独使用。

XFA 文档类型：动态。

## ◆ e_EventTypeUnknown

FSDK::XFADoc::e_EventTypeUnknown
| static

XFA 事件类型的枚举。

此枚举的值应单独使用。

XFA 事件类型的枚举。

此枚举的值应单独使用。

事件类型：未知。

## ◆ e_ExportDataTypeXML

FSDK::XFADoc::e_ExportDataTypeXML
| static

导出数据类型的枚举。

此枚举的值应单独使用。

导出数据类型：XML。