Foxit PDF SDK
com.foxit.sdk.addon.xfa.XFADoc类 参考
类 com.foxit.sdk.addon.xfa.XFADoc 继承关系图:
com.foxit.sdk.common.Base

Public 成员函数

 XFADoc (PDFDoc document, DocProviderCallback xfa_doc_provider_handler) throws com.foxit.sdk.PDFException
 构造函数。 更多...
 
 XFADoc (PDFDoc document) throws com.foxit.sdk.PDFException
 构造函数。 更多...
 
 XFADoc (XFADoc other)
 构造函数,使用另一个 XFA 文档对象。 更多...
 
synchronized void delete ()
 直接清除C++相关资源。 更多...
 
boolean exportData (String output_file_path, int export_type) throws com.foxit.sdk.PDFException
 将数据导出到文件。 更多...
 
boolean exportData (FileWriterCallback stream, int export_type) throws com.foxit.sdk.PDFException
 将数据导出到 com.foxit.sdk.common.fxcrt.FileWriterCallback 对象。 更多...
 
void flattenTo (String output_file_path) throws com.foxit.sdk.PDFException
 将当前 XFA 文档扁平化到文件。 更多...
 
void flattenTo (StreamCallback stream) throws com.foxit.sdk.PDFException
 将当前 XFA 文档扁平化到文件流。 更多...
 
XFAPage getPage (int page_index) throws com.foxit.sdk.PDFException
 按索引获取 XFA 页面。 更多...
 
int getPageCount () throws com.foxit.sdk.PDFException
 获取 XFA 页面数量。 更多...
 
int getType () throws com.foxit.sdk.PDFException
 获取 XFA 文档类型。 更多...
 
XFAWidget getWidgetByFullName (String full_name) throws com.foxit.sdk.PDFException
 获取与指定全名匹配的 XFA 控件。 更多...
 
boolean importData (String file_path) throws com.foxit.sdk.PDFException
 从 XML 或 XDP 文件导入数据。 更多...
 
boolean importData (FileReaderCallback file_reader) throws com.foxit.sdk.PDFException
 com.foxit.sdk.common.fxcrt.FileReaderCallback 对象导入数据。 更多...
 
boolean isEmpty ()
 检查当前对象是否为空。 更多...
 
void killFocus () throws com.foxit.sdk.PDFException
 取消 XFA 控件的焦点。 更多...
 
void processEvent (int event_type) throws com.foxit.sdk.PDFException
 为当前 XFA 文档中的所有 XFA 控件处理某种事件。 更多...
 
void resetForm () throws com.foxit.sdk.PDFException
 重置表单。 更多...
 
void setDocProviderCallback (DocProviderCallback doc_provider_callback)
 设置 XFA 文档提供程序回调。 更多...
 
void setFocus (XFAWidget xfa_widget) throws com.foxit.sdk.PDFException
 设置 XFA 控件的焦点。 更多...
 
void setPDFPath (String pdf_file_path) throws com.foxit.sdk.PDFException
 设置相关 PDF 文档的路径。 更多...
 
Progressive startLoad (PauseCallback pause) throws com.foxit.sdk.PDFException
 开始为当前 XFA 文档加载内容。 更多...
 
- Public 成员函数 继承自 com.foxit.sdk.common.Base
synchronized void delete ()
 直接清除C++相关资源。 更多...
 

静态 Public 属性

static final int e_Dynamic = 0
 XFA 文档类型:动态。
 
static final int e_EventTypeCalculate = 30
 此类事件代表计算操作。
 
static final int e_EventTypeChange = 4
 此类事件在改变表单域值时触发。
 
static final int e_EventTypeClick = 3
 此类事件在域中点击时触发。
 
static final int e_EventTypeDocClose = 5
 此类事件仅当所有验证成功时,在处理过程的最后阶段触发。
 
static final int e_EventTypeDocReady = 6
 此类事件在文档渲染之前、数据绑定之后触发。
 
static final int e_EventTypeEnter = 7
 此类事件在字段获得键盘焦点时触发,无论是由用户操作(通过 Tab 键跳入字段或鼠标点击) 还是通过脚本以编程方式设置焦点所引起。preSubmit 事件仅适用于表单 DOM($form)。
 
static final int e_EventTypeExit = 8
 此类事件在键盘焦点从子表单内直接或间接地转移到子表单外的字段或其他对象时触发。
 
static final int e_EventTypeFull = 9
 此类事件在用户已向字段输入允许的最大内容量并试图输入更多内容时触发。
 
static final int e_EventTypeIndexChange = 10
 此类事件用于通知对象它刚刚被添加到数组中,或其数组中的位置(下标)已发生变化。
 
static final int e_EventTypeInitCalculate = 28
 此类事件代表首次运行计算。
 
static final int e_EventTypeInitialize = 11
 此类事件在数据绑定完成后触发。
 
static final int e_EventTypeInitVariables = 29
 此类事件并非实际的事件活动,仅表示变量中的脚本签名。
 
static final int e_EventTypeMouseDown = 12
 此类事件在鼠标按钮被按下且鼠标指针位于区域内的时刻触发。
 
static final int e_EventTypeMouseEnter = 13
 此类事件在用户将鼠标指针移入字段区域时触发,无需按下鼠标按钮。
 
static final int e_EventTypeMouseExit = 14
 此类事件在用户将鼠标指针移出字段时触发,无论鼠标按钮是否被按下。
 
static final int e_EventTypeMouseUp = 15
 此类事件在鼠标按钮被释放且鼠标指针位于区域内的时刻触发。
 
static final int e_EventTypePostExecute = 16
 此类事件在成功的 WSDL 事务后触发,即在收到请求的回复且接收的数据已编组到连接数据 DOM 之后。
 
static final int e_EventTypePostOpen = 17
 此类事件与下拉选择列表的打开前事件相关。
 
static final int e_EventTypePostPrint = 1
 此类事件在渲染的表单已发送到打印机、后台打印程序 或输出目标后触发。
 
static final int e_EventTypePostSave = 18
 此类事件在表单以 PDF 或 XDP 格式写出后立即触发。
 
static final int e_EventTypePostSign = 19
 此类事件在成功应用签名后触发。
 
static final int e_EventTypePostSubmit = 20
 此类事件在返回数据已编组到连接数据 DOM 后立即触发。
 
static final int e_EventTypePreExecute = 21
 此类事件在通过 WSDL 向 Web 服务发送请求时触发,即在数据已编组到连接数据 DOM 之后,但请求发送之前。
 
static final int e_EventTypePreOpen = 22
 此类事件仅适用于 open="userControl" 或 open="onEntry" 的下拉选择列表。 该事件旨在触发用于向选择列表添加选项或从中移除选项的脚本。
 
static final int e_EventTypePrePrint = 2
 此类事件在打印渲染开始前触发。
 
static final int e_EventTypePreSave = 23
 此类事件在表单数据以 PDF 或 XDP 格式写出之前触发。
 
static final int e_EventTypePreSign = 24
 此类事件在即将应用签名时触发。
 
static final int e_EventTypePreSubmit = 25
 此类事件在数据已编组到连接数据 DOM 之后,但在验证之前以及数据提交到主机之前触发。
 
static final int e_EventTypeReady = 26
 此类事件在 XFA DOM 完成加载后触发。
 
static final int e_EventTypeUnknown = 0
 事件类型:未知。
 
static final int e_EventTypeValidate = 31
 此类事件代表验证操作。
 
static final int e_EventTypeValidationState = 27
 此类事件在目标的验证状态发生变化时触发。
 
static final int e_ExportDataTypeStaticXDP = 1
 导出数据类型:静态 XDP。
 
static final int e_ExportDataTypeXDP = 2
 导出数据类型:XDP。
 
static final int e_ExportDataTypeXML = 0
 导出数据类型:XML。
 
static final int e_Static = 1
 XFA 文档类型:静态。
 
static final int e_XDP = 2
 XFA 文档类型:XDP,作为原始 XML 数据。
 

详细描述

XFADoc 从已加载的 PDF 文档对象构造,以便更清晰地访问 XFA 内容。 用户必须在使用 XFA 模块之前调用 common.Library.registerXFAAppProviderCallback 。 对于新构造的 XFA 对象,请记住在使用 XFA 类中的其他函数之前调用函数 XFADoc.startLoad
要在 XFA 文档中搜索,请使用 XFADoc 对象构造 com.foxit.sdk.pdf.TextSearch 对象。

参见
com.foxit.sdk.pdf.TextSearch

构造及析构函数说明

◆ XFADoc() [1/3]

com.foxit.sdk.addon.xfa.XFADoc.XFADoc ( PDFDoc  document,
DocProviderCallback  xfa_doc_provider_handler 
) throws com.foxit.sdk.PDFException

构造函数。

参数
[in]document有效的 PDF 文档。它应该已经成功加载。
[in]xfa_doc_provider_handler由用户实现的 XFA 文档提供程序回调对象, 基于回调类 DocProviderCallback 。它不应该为 null。用户应确保此回调对象在 相关 PDF 文档释放之前保持有效。
注解
如果在函数 common.Library.initialize 中使用的许可信息中未定义模块"XFA", 这意味着用户无权使用 XFA 相关函数,此构造函数将抛出异常 com.foxit.sdk.common.Constants.e_ErrNoXFAModuleRight

◆ XFADoc() [2/3]

com.foxit.sdk.addon.xfa.XFADoc.XFADoc ( PDFDoc  document) throws com.foxit.sdk.PDFException

构造函数。

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

参数
[in]documentA valid PDF document. It should has been loaded successfully.
注解
如果在函数 common.Library.initialize 中使用的许可信息中未定义模块"XFA", 这意味着用户无权使用 XFA 相关函数,此构造函数将抛出异常 com.foxit.sdk.common.Constants.e_ErrNoXFAModuleRight

◆ XFADoc() [3/3]

com.foxit.sdk.addon.xfa.XFADoc.XFADoc ( XFADoc  other)

构造函数,使用另一个 XFA 文档对象。

参数
[in]other另一个 XFA 文档对象。

成员函数说明

◆ delete()

synchronized void com.foxit.sdk.addon.xfa.XFADoc.delete ( )

直接清除C++相关资源。

返回
无。
注解
一旦这个接口被调用,这个对象将不能再被使用。

◆ exportData() [1/2]

bool com.foxit.sdk.addon.xfa.XFADoc.exportData ( String  output_file_path,
int  export_type 
) throws com.foxit.sdk.PDFException

将数据导出到文件。

参数
[in]output_file_path数据将导出到的文件路径。
[in]export_type导出类型。请参考从 com.foxit.sdk.addon.xfa.XFADoc.e_ExportDataTypeXML 开始的值,这应该是这些值之一。
返回
true 表示成功,false 表示失败。

◆ exportData() [2/2]

boolean com.foxit.sdk.addon.xfa.XFADoc.exportData ( FileWriterCallback  stream,
int  export_type 
) throws com.foxit.sdk.PDFException

将数据导出到 com.foxit.sdk.common.fxcrt.FileWriterCallback 对象。

参数
[in]stream由用户实现的 foxit::common::file::WriterCallback 对象,用于保存导出的数据。
[in]export_type导出类型。请参考从 com.foxit.sdk.addon.xfa.XFADoc.e_ExportDataTypeXML 开始的值,这应该是这些值之一。
返回
true 表示成功,false 表示失败。

◆ flattenTo() [1/2]

void com.foxit.sdk.addon.xfa.XFADoc.flattenTo ( String  output_file_path) throws com.foxit.sdk.PDFException

将当前 XFA 文档扁平化到文件。

参数
[in]output_file_path扁平化结果将保存到的文件路径。
返回
无。

◆ flattenTo() [2/2]

void com.foxit.sdk.addon.xfa.XFADoc.flattenTo ( StreamCallback  stream) throws com.foxit.sdk.PDFException

将当前 XFA 文档扁平化到文件流。

参数
[in]stream用户实现的 com.foxit.sdk.common.fxcrt.StreamCallback 对象,用于保存扁平化结果。
返回
无。

◆ getPage()

XFAPage com.foxit.sdk.addon.xfa.XFADoc.getPage ( int  page_index) throws com.foxit.sdk.PDFException

按索引获取 XFA 页面。

参数
[in]page_index页面索引。有效范围:从 0 到 (count-1)。 count 由函数 XFADoc.getPageCount 返回。
返回
XFA 页面。

◆ getPageCount()

int com.foxit.sdk.addon.xfa.XFADoc.getPageCount ( ) throws com.foxit.sdk.PDFException

获取 XFA 页面数量。

返回
页面数量。

◆ getType()

int com.foxit.sdk.addon.xfa.XFADoc.getType ( ) throws com.foxit.sdk.PDFException

获取 XFA 文档类型。

返回
XFA 文档的类型。请参考从 com.foxit.sdk.addon.xfa.XFADoc.e_Dynamic 开始的值, 这将是这些值之一。

◆ getWidgetByFullName()

XFAWidget com.foxit.sdk.addon.xfa.XFADoc.getWidgetByFullName ( String  full_name) throws com.foxit.sdk.PDFException

获取与指定全名匹配的 XFA 控件。

某些 XFA 控件可能跨越多个 XFA 页面。在这种情况下,此函数只能用于 获取 XFA 文档中第一个匹配的 XFA 控件。用户也可以使用函数 XFAPage.getWidgetByFullName 来获取 XFA 页面中匹配的 XFA 控件。

参数
[in]full_nameXFA 控件的全名。它不应该是空字符串。 XFA 控件的全名可以通过函数 XFAWidget.getName 使用类型 com.foxit.sdk.addon.xfa.XFAWidget.e_WidgetNameTypeFullName 在之前的过程中检索。
返回
XFA 控件对象。

◆ importData() [1/2]

bool com.foxit.sdk.addon.xfa.XFADoc.importData ( String  file_path) throws com.foxit.sdk.PDFException

从 XML 或 XDP 文件导入数据。

参数
[in]file_path源文件的路径,其数据将导入到当前 XFA 文档。 它应该是 XML 或 XDP 文件,文件扩展名应该是".xml"或".xdp"。
返回
true 表示成功,false 表示失败。

◆ importData() [2/2]

boolean com.foxit.sdk.addon.xfa.XFADoc.importData ( FileReaderCallback  file_reader) throws com.foxit.sdk.PDFException

com.foxit.sdk.common.fxcrt.FileReaderCallback 对象导入数据。

参数
[in]file_readercom.foxit.sdk.common.fxcrt.FileReaderCallback 对象,其数据将导入到当前 XFA 文档。 它应该是 XML 或 XDP 文件。
返回
true 表示成功,false 表示失败。

◆ isEmpty()

boolean com.foxit.sdk.addon.xfa.XFADoc.isEmpty ( )

检查当前对象是否为空。

当前对象为空时,表示当前对象无用。

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

◆ killFocus()

void com.foxit.sdk.addon.xfa.XFADoc.killFocus ( ) throws com.foxit.sdk.PDFException

取消 XFA 控件的焦点。

返回
无。

◆ processEvent()

void com.foxit.sdk.addon.xfa.XFADoc.processEvent ( int  event_type) throws com.foxit.sdk.PDFException

为当前 XFA 文档中的所有 XFA 控件处理某种事件。

参数
[in]event_type事件类型。请参考从 com.foxit.sdk.addon.xfa.XFADoc.e_EventTypePostPrint 开始的值,这应该是这些值之一,除了 com.foxit.sdk.addon.xfa.XFADoc.e_EventTypeUnknown
返回
无。

◆ resetForm()

void com.foxit.sdk.addon.xfa.XFADoc.resetForm ( ) throws com.foxit.sdk.PDFException

重置表单。

返回
无。

◆ setDocProviderCallback()

void com.foxit.sdk.addon.xfa.XFADoc.setDocProviderCallback ( DocProviderCallback  doc_provider_callback)

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

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

◆ setFocus()

void com.foxit.sdk.addon.xfa.XFADoc.setFocus ( XFAWidget  xfa_widget) throws com.foxit.sdk.PDFException

设置 XFA 控件的焦点。

参数
[in]xfa_widget将获得焦点的 XFA 控件。
返回
无。

◆ setPDFPath()

void com.foxit.sdk.addon.xfa.XFADoc.setPDFPath ( String  pdf_file_path) throws com.foxit.sdk.PDFException

设置相关 PDF 文档的路径。

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

参数
[in]pdf_file_path相关 PDF 文档的文件路径。它可以是绝对路径或 相对路径。不应该是空字符串。
返回
无。

◆ startLoad()

Progressive com.foxit.sdk.addon.xfa.XFADoc.startLoad ( PauseCallback  pause) throws com.foxit.sdk.PDFException

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

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

参数
[in]pause暂停对象,决定导入过程是否需要暂停。 这可以是 null,表示在解析过程中不暂停。 如果不是 null,它应该是用户实现的有效暂停对象。 默认值:null
返回
渐进对象。请通过函数 common.Progressive.getRateOfProgress 检查当前进度的比率。 如果比率还不是 100,请调用函数 common.Progressive.resume 继续进度,直到进度完成。