|
Foxit PDF SDK
|
继承自 Object .
静态 Public 成员函数 | |
| static bool | AddExternalFontPath (const wchar_t *font_path) |
| 添加外部字体路径。 更多... | |
| static void * | Alloc (size_t size) |
| 分配内存块 更多... | |
| static bool | EnableJavaScript (bool enable_javascript) |
| 启用或禁用PDF的JavaScript。 更多... | |
| static void | EnableThreadSafety (bool is_enable_thread_safety) |
| 启用线程安全。 更多... | |
| static WString | ExecuteJavaScript (const wchar_t *java_script) |
| 执行javascript。 更多... | |
| static foxit::ErrorCode | FlushLog () |
| 刷新日志文件。 更多... | |
| static void | Free (void *ptr) |
| 释放内存块 更多... | |
| static RenderConfig | GetRenderConfig () |
| 获取渲染配置。 更多... | |
| static String | GetVersion () |
| 获取当前Foxit PDF SDK库的版本。 更多... | |
| static bool | HasModuleLicenseRight (common::ModuleName module_name) |
| 检查用户是否有权在当前使用的许可证信息中使用Foxit PDF SDK的指定模块 (用于初始化Foxit PDF SDK)。 更多... | |
| static ErrorCode | Initialize (const char *sn, const char *key) |
| 使用有效的许可证信息初始化Foxit PDF SDK库。 更多... | |
| static ErrorCode | Initialize (const char *sn, const char *key, bool is_optimize_memory, bool enable_js_xfa_threadsafety=false) |
| 使用有效的许可证信息初始化Foxit PDF SDK库。 更多... | |
| static ErrorCode | InitializeOFDEngine (const char *ofd_library_path) |
| 初始化OFD引擎。 更多... | |
| static void | MatchExternalFontsOnly (bool only_match) |
| 是否只匹配外部指定路径。 更多... | |
| static void * | Realloc (void *ptr, size_t new_size) |
| 重新分配内存块。 更多... | |
| static bool | RegisterSecurityCallback (const char *filter, pdf::SecurityCallback *callback) |
| 向Foxit PDF SDK注册 pdf::SecurityCallback 对象用于解密具有特殊加密过滤器的PDF。 更多... | |
| static bool | RegisterSignatureCallback (const char *filter, const char *sub_filter, pdf::SignatureCallback *signature_callback) |
| 向Foxit PDF SDK注册第三方 pdf::SignatureCallback 对象用于签名和验证签名, 以及回调的过滤器和子过滤器名称。 更多... | |
| static void | RegisterXFAAppProviderCallback (addon::xfa::AppProviderCallback *callback) |
| 向Foxit PDF SDK注册 addon::xfa::AppProviderCallback 对象。 更多... | |
| static ErrorCode | Reinitialize () |
| 重新初始化Foxit PDF SDK库。 更多... | |
| static void | Release () |
| 释放Foxit PDF SDK库分配的所有资源。 更多... | |
| static void | ReleaseOFDEngine () |
| 释放OFD引擎。 更多... | |
| static bool | SetActionCallback (ActionCallback *action_callback) |
| 设置 foxit::ActionCallback 对象到Foxit PDF SDK,以帮助执行PDF动作。 更多... | |
| static bool | SetAnnotIconProviderCallback (pdf::annots::IconProviderCallback *annot_icon_provider) |
| 设置自定义的 pdf::annots::IconProviderCallback 对象到Foxit PDF SDK。 更多... | |
| static bool | SetCacheSize (uint32 size) |
| 设置PDF库缓存大小的上限。 更多... | |
| static void | SetDefaultICCProfilesPath (const wchar_t *icc_profile_folder_path) |
| 设置包含默认ICC配置文件的文件夹路径。 更多... | |
| static bool | SetDocEventCallback (DocEventCallback *callback) |
| 设置 DocEventCallback 对象到Foxit PDF SDK。 更多... | |
| static bool | SetFontMapperCallback (FontMapperCallback *callback) |
| 设置 FontMapperCallback 对象到Foxit PDF SDK。 更多... | |
| static void | SetLogFile (const char *log_file_path) |
| 设置日志文件路径。 更多... | |
| static void | SetLogFile (const wchar_t *log_file_path) |
| 设置日志文件路径。 更多... | |
| static void | SetLogFile (foxit::common::file::StreamCallback *log_file) |
| 设置日志文件流。 更多... | |
| static bool | SetNotifierCallback (NotifierCallback *notifier) |
| 设置 NotifierCallback 对象到Foxit PDF SDK。 更多... | |
| static void | SetRenderConfig (const RenderConfig &render_config) |
| 设置渲染配置。 更多... | |
| static void | SetRenderTextGamma (float gamma) |
| 设置文本渲染的伽马值。 更多... | |
| static bool | SetTimeStampCallback (pdf::TimeStampCallback *timestamp_callback) |
| 设置 pdf::TimeStampCallback 对象到Foxit PDF SDK,以帮助与时间戳服务器交互。 更多... | |
| static bool | UnregisterSecurityCallback (const char *filter) |
| 从Foxit PDF SDK中取消注册 pdf::SecurityCallback 对象。 更多... | |
| static void | UnregisterSignatureCallback (const char *filter, const char *sub_filter) |
| 取消注册与特定过滤器和子过滤器关联的第三方 pdf::SignatureCallback 对象 从Foxit PDF SDK中。如果有可用的默认签名, 它将与其过滤器和子过滤器值一起恢复。 更多... | |
此类表示库管理。 它包含初始化/重新初始化/释放Foxit PDF SDK库的函数,还包含 全局使用的函数。
任何应用程序都应该在调用任何其他Foxit PDF SDK函数之前,通过函数 Library::Initialize 加载Foxit PDF SDK。 当不再需要使用Foxit PDF SDK时,请调用 函数 Library::Release。
当发生某些错误时,Foxit PDF SDK中的函数可能会抛出异常。用户可以捕获这些异常并 检查从 foxit::e_ErrFile 开始的错误代码值,以了解更多关于发生了什么错误的信息。
|
static |
添加外部字体路径。
| [in] | font_path | 外部字体路径。 |
|
static |
|
static |
启用或禁用PDF的JavaScript。
PDF的JavaScript默认是启用的。
| [in] | enable_javascript | true 表示启用JavaScript,false 表示 禁用JavaScript。 如果不调用此函数,PDF的JavaScript默认是启用的。 |
|
static |
启用线程安全。
从Foxit PDF SDK 11.0开始,默认情况下启用文档级别的线程安全(除Javascript和xfa模块外) 而无需调用此函数。此函数将在未来版本中被弃用。 用户需要确保一个pdf文档同时只被一个线程操作。 如果用户要为javascript和xfa模块启用线程安全,请在调用函数 Library::Initialize 时向 enable_js_xfa_threadsafety 传递 true。
目前,模块"OCR"不支持线程安全。
| [in] | is_enable_thread_safety | 启用线程安全。true 表示启用线程安全, false 表示禁用线程安全。 |
|
static |
执行javascript。
| java_script | 需要执行的javascript。 |
|
static |
刷新日志文件。
|
static |
|
static |
获取渲染配置。
|
static |
获取当前Foxit PDF SDK库的版本。
|
static |
检查用户是否有权在当前使用的许可证信息中使用Foxit PDF SDK的指定模块 (用于初始化Foxit PDF SDK)。
在Foxit PDF SDK中,一旦库成功初始化,大多数功能都可以使用。 但对于某些特殊功能,只有在许可证信息中定义了指定模块时才能使用。 此函数可用于在使用这些功能之前检查用户是否具有这些特殊模块的权限。
| [in] | module_name | 要检查权限的模块名称。请参考从 common::e_ModuleNameConnectedPDF 开始的值,这应该是这些值中的一个。 |
|
static |
使用有效的许可证信息初始化Foxit PDF SDK库。
在应用程序的生命周期中,此函数只能调用一次,并且 应该在调用Foxit PDF SDK中的任何其他函数之前首先调用。
一旦调用了函数 Library::Release,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
| [in] | sn | SN信息字符串,可以从密钥文件"gsdk_sn.txt"或"rdk_sn.txt"中的"SN="部分获取。 |
| [in] | key | 密钥信息字符串,可以从密钥文件"gsdk_key.txt"或"rdk_key.txt"中的"Sign="部分获取。 |
|
static |
使用有效的许可证信息初始化Foxit PDF SDK库。
在应用程序的生命周期中,此函数只能调用一次,并且 应该在调用Foxit PDF SDK中的任何其他函数之前首先调用。
一旦调用了函数 Library::Release,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
| [in] | sn | SN信息字符串,可以从密钥文件"gsdk_sn.txt"或"rdk_sn.txt"中的"SN="部分获取。 |
| [in] | key | 密钥信息字符串,可以从密钥文件"gsdk_key.txt"或"rdk_key.txt"中的"Sign="部分获取。 |
| [in] | app_name | 应用程序名称字符串。 |
在应用程序的生命周期中,此函数只能调用一次,并且 应该在调用Foxit PDF SDK中的任何其他函数之前首先调用。
一旦调用了函数 Library::Release,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
| [in] | sn | SN信息字符串,可以从密钥文件"gsdk_sn.txt"或"rdk_sn.txt"中的"SN="部分获取。 |
| [in] | key | 密钥信息字符串,可以从密钥文件"gsdk_key.txt"或"rdk_key.txt"中的"Sign="部分获取。 |
| [in] | is_optimize_memory | 此标志用于尝试通过清理内存碎片来优化内存。 true 表示清理内存碎片,false 表示不清理。 |
| [in] | enable_js_xfa_threadsafety | 此标志用于启用JavaScript和XFA模块的线程安全。 true 表示启用,false 表示不启用。默认值为 false。 用户需要确保一个PDF文档一次只由一个线程操作。 |
|
static |
初始化OFD引擎。
在使用"OFD"模块中的任何其他函数之前必须调用此函数。 在使用"OFD"模块之前,请确保OFD包中名为"lib"的资源文件夹是有效的。 在初始化OFD引擎并使用此模块中的任何类或方法之前,请确保 Foxti PDF SDK已通过函数 common::Library::Initialize 使用包含"OFD"模块的密钥成功初始化。
目前,"OFD"模块仅支持Windows和Linux64系统。
| [in] | ofd_library_path | OFD库的路径。这不应该是空字符串。 |
|
static |
|
static |
重新分配内存块。
如果参数 ptr 为 NULL,此函数将分配一个新的内存块。
| [in] | ptr | 指向由 Library::Alloc 分配的内存块的指针 现在要重新分配。NULL 表示此函数将分配一个新的内存块。 |
| [in] | new_size | 内存块的新大小(字节)。 |
|
static |
向Foxit PDF SDK注册 pdf::SecurityCallback 对象用于解密具有特殊加密过滤器的PDF。
当此函数成功时,Foxit PDF SDK将接管输入的安全回调对象, 用户不应再直接释放此回调对象; 否则稍后可能发生意外崩溃。
当取消注册安全回调对象并发现它没有被其他对象使用时, Foxit PDF SDK可能通过回调函数 pdf::SecurityCallback::Release 释放安全回调对象。因此,建议用户在函数 Library::UnregisterSecurityCallback 之后不再使用安全回调对象。
| [in] | filter | 安全回调对象的过滤器名称。这不应该是 NULL 或 空字符串。 当用户实现 pdf::CustomSecurityCallback 的安全回调时, 用户可以指定自己的自定义过滤器字符串, 但需要遵循PDF名称约定。 当用户实现 pdf::CertificateSecurityCallback 的安全回调时, 过滤器值必须设置为"Adobe.PubSec"。 当用户实现 pdf::DRMSecurityCallback 的安全回调时, 过滤器值必须设置为"FoxitDRM",否则稍后可能发生错误。 当用户实现 pdf::RMSSecurityCallback 的安全回调时, 过滤器值必须设置为"MicrosoftIRMServices"或"FoxitRMS",否则稍后可能发生错误。 |
| [in] | callback | pdf::SecurityCallback 对象,由用户实现并基于 回调类 pdf::SecurityCallback。用户不应直接继承 pdf::SecurityCallback,而应继承其派生类, 如 pdf::CustomSecurityCallback、pdf::CertificateSecurityCallback 等。 |
|
static |
向Foxit PDF SDK注册第三方 pdf::SignatureCallback 对象用于签名和验证签名, 以及回调的过滤器和子过滤器名称。
Foxit PDF SDK具有默认的签名回调,定义了过滤器和子过滤器:
如果用户想使用第三方签名回调,请在签名或验证签名过程之前调用此函数。
如果用户通过此函数注册一个与默认签名回调具有相同过滤器和子过滤器的自定义签名回调, 且参数 signature_callback 的值不是 NULL, Foxit PDF SDK中的默认签名回调将不起作用。 如果用户通过此函数注册一个与默认签名回调具有相同过滤器和子过滤器的自定义签名回调, 且参数 signature_callback 的值是 NULL, Foxit PDF SDK中的默认签名回调将重新生效。
| [in] | filter | 签名回调的过滤器名称,使用ASCII编码。 这不应该是空字符串。 过滤器名称是签名回调的名称。 |
| [in] | sub_filter | 签名回调的子过滤器名称,使用ASCII编码。 子过滤器用于描述签名值的编码和 签名字典中的密钥信息。 |
| [in] | signature_callback | 自定义的 pdf::SignatureCallback 对象,由用户实现 并基于回调类 pdf::SignatureCallback。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此签名回调对象在通过函数 Library::Release 释放Foxit PDF SDK之前保持有效。 如果这是 NULL,表示要从Foxit PDF SDK中移除已注册的第三方回调。 |
|
static |
向Foxit PDF SDK注册 addon::xfa::AppProviderCallback 对象。
在处理XFA文档之前应首先调用此函数。
| [in] | callback | addon::xfa::AppProviderCallback 对象,由用户实现 并基于回调类 addon::xfa::AppProviderCallback。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此XFA应用程序提供程序回调对象在通过函数 Library::Release 释放Foxit PDF SDK之前保持有效。 |
|
static |
重新初始化Foxit PDF SDK库。
当用户遇到内存不足错误或用户想在调用函数 Library::Release 之前 重新初始化Foxit PDF SDK库时,用户可以调用此函数来重新初始化Foxit PDF SDK库。
一旦调用了函数 Library::Release,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
|
static |
释放Foxit PDF SDK库分配的所有资源。
用户应该调用此函数来释放库分配的所有内存块。
一旦调用此函数,Foxit PDF SDK库就无法在应用程序的生命周期中 再次初始化。
|
static |
释放OFD引擎。
当不再需要使用OFD引擎时,可以在释放Foxit PDF SDK之前 调用此函数来释放OFD引擎。
|
static |
设置 foxit::ActionCallback 对象到Foxit PDF SDK,以帮助执行PDF动作。
用户应该实现一个动作回调对象并调用此函数来设置动作回调对象 到Foxit PDF SDK,如果需要执行PDF动作,例如填写PDF表单。
| [in] | action_callback | 自定义的 foxit::ActionCallback 对象。NULL 表示不使用 任何动作回调对象。用户应确保所有回调函数都已在应用程序级别实现。 如果这是一个有效的动作回调对象,Foxit PDF SDK将接管此回调对象的管理, 用户不应直接释放它。 |
|
static |
设置自定义的 pdf::annots::IconProviderCallback 对象到Foxit PDF SDK。
用户可以调用此函数为注释设置自定义图标提供程序。 如果此函数被多次调用,Foxit PDF SDK将只保留最后一个图标提供程序。 如果此函数从未被调用过,Foxit PDF SDK将使用默认的标准图标提供程序。
| [in] | annot_icon_provider | 自定义的注释图标提供程序, 基于回调类 pdf::annots::IconProviderCallback 实现。 如果这是 NULL,自定义注释图标提供程序 将从Foxit PDF SDK中移除,并使用默认的标准图标提供程序。 应用程序应确保此图标提供程序对象在被从Foxit PDF SDK中移除或 调用函数 Library::Release 之前保持有效。 |
|
static |
设置PDF库缓存大小的上限。
如果应用程序没有设置缓存大小限制,默认情况下缓存大小将在内部 设置为200兆字节。
| [in] | size | 缓存的上限,单位为兆字节,范围0~4096。 如果设置为0,表示不使用缓存大小限制。 |
|
static |
设置包含默认ICC配置文件的文件夹路径。
默认ICC配置文件在Foxit PDF SDK包的"res"文件夹中提供。默认ICC配置文件 "sRGB Color Space Profile.icm"、"sGray.icc"和"USWebCoatedSWOP.icc"。Foxit PDF SDK将 从输入的文件夹路径中加载这些默认的ICC配置文件。
如果输入的文件夹路径不存在或指定文件夹中没有包含所有默认的ICC配置文件, 此函数将抛出异常 foxit::e_ErrFilePathNotExist。
| [in] | icc_profile_folder_path | 包含默认ICC配置文件的有效文件夹路径。 |
|
static |
设置 DocEventCallback 对象到Foxit PDF SDK。
| [in] | callback | DocEventCallback 对象。 NULL 表示不使用任何文档事件回调对象。 |
|
static |
设置 FontMapperCallback 对象到Foxit PDF SDK。
一旦向Foxit PDF SDK设置了有效的自定义字体映射器回调, Foxit PDF SDK将在映射字体时首先使用此回调。
| [in] | callback | FontMapperCallback 对象。 NULL 表示不使用任何自定义字体映射器回调对象。 |
|
static |
设置日志文件路径。
在向Foxit PDF SDK设置日志文件路径后,所有日志都将写入日志文件。 目前,Foxit PDF SDK中的日志信息比较简单;这将在未来版本中改进。
| [in] | log_file_path | 日志文件路径。 |
|
static |
设置日志文件路径。
在向Foxit PDF SDK设置日志文件路径后,所有日志都将写入日志文件。 目前,Foxit PDF SDK中的日志信息比较简单;这将在未来版本中改进。
| [in] | log_file_path | 日志文件路径。 |
|
static |
设置日志文件流。
在向Foxit PDF SDK设置日志文件后,所有日志都将写入日志文件流。 目前,Foxit PDF SDK中的日志信息比较简单;这将在未来版本中改进。
| [in] | log_file | 日志文件流。 |
|
static |
设置 NotifierCallback 对象到Foxit PDF SDK。
用户可以调用此函数向Foxit PDF SDK设置通知回调对象, 以便在事件(如OOM)发生时通知用户。
| [in] | notifier | NotifierCallback 对象。用户应确保所有回调函数 都已在应用程序级别实现。 |
|
static |
设置渲染配置。
| [in] | render_config | 要设置的渲染配置对象。 |
|
static |
设置文本渲染的伽马值。
如果不调用此函数设置伽马值,Foxit PDF SDK将使用2.2作为默认值。
| [in] | gamma | 伽马值。应该大于0。 |
|
static |
设置 pdf::TimeStampCallback 对象到Foxit PDF SDK,以帮助与时间戳服务器交互。
当此函数成功时,Foxit PDF SDK将在签名期间接管默认的时间戳交互, 用户不应再直接释放此回调对象; 否则稍后可能发生意外崩溃。
当 timestamp_callback 为 NULL 时, Foxit PDF SDK可能通过回调函数 pdf::TimeStampCallback::Release 释放时间戳回调对象。
| [in] | timestamp_callback | 自定义的 pdf::TimeStampCallback 对象,由用户实现 并基于回调类 pdf::TimeStampCallback。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此时间戳回调对象在通过函数 Library::Release 释放Foxit PDF SDK之前保持有效。 如果这是 NULL,表示要从Foxit PDF SDK中移除已注册的第三方回调。 |
|
static |
从Foxit PDF SDK中取消注册 pdf::SecurityCallback 对象。
当取消注册安全回调函数并发现它没有被其他对象使用时, Foxit PDF SDK可能通过回调函数 pdf::SecurityCallback::Release 释放安全回调函数。因此,建议用户在函数 Library::UnregisterSecurityCallback 之后不再使用安全回调对象。
| [in] | filter | 用于注册安全回调对象的过滤器名称。 请参考函数 Library::RegisterSecurityCallback 中 参数 filter 的注释。 |
|
static |
取消注册与特定过滤器和子过滤器关联的第三方 pdf::SignatureCallback 对象 从Foxit PDF SDK中。如果有可用的默认签名, 它将与其过滤器和子过滤器值一起恢复。
Foxit PDF SDK具有默认的签名回调,定义了过滤器和子过滤器:
| [in] | filter | 签名回调的过滤器名称,使用ASCII编码。 这不应该是空字符串。 过滤器名称是签名回调的名称。 |
| [in] | sub_filter | 签名回调的子过滤器名称,使用ASCII编码。 子过滤器用于描述签名值的编码和 签名字典中的密钥信息。 |