|
Foxit PDF SDK
|
继承自 NSObject .
此类表示库管理。 它包含初始化/重新初始化/释放Foxit PDF SDK库的函数,还包含 全局使用的函数。
任何应用程序都应该在调用任何其他Foxit PDF SDK函数之前,通过函数 FSLibrary::initialize:key: 加载Foxit PDF SDK。 当不再需要使用Foxit PDF SDK时,请调用 函数 FSLibrary::destroy 。
当发生某些错误时,Foxit PDF SDK中的函数可能会抛出异常。用户可以捕获这些异常并 检查从 FSErrFile 开始的错误代码值,以了解更多关于发生了什么错误的信息。
| + (BOOL) addExternalFontPath: | (NSString *) | font_path |
添加外部字体路径。
| [in] | font_path | 外部字体路径。 |
| + (void) destroy |
释放Foxit PDF SDK库分配的所有资源。
用户应该调用此函数来释放库分配的所有内存块。
一旦调用此函数,Foxit PDF SDK库就无法在应用程序的生命周期中 再次初始化。
| + (BOOL) enableJavaScript: | (BOOL) | enable_javascript |
启用或禁用PDF的JavaScript。
PDF的JavaScript默认是启用的。
| [in] | enable_javascript | YES 表示启用JavaScript,NO 表示 禁用JavaScript。 如果不调用此函数,PDF的JavaScript默认是启用的。 |
| + (void) enableThreadSafety: | (BOOL) | is_enable_thread_safety |
启用线程安全。
从Foxit PDF SDK 11.0开始,默认情况下启用文档级别的线程安全(除Javascript和xfa模块外) 而无需调用此函数。此函数将在未来版本中被弃用。 用户需要确保一个pdf文档同时只被一个线程操作。 如果用户要为javascript和xfa模块启用线程安全,请在调用函数 FSLibrary::initialize:key: 时向 enable_js_xfa_threadsafety 传递 YES。
目前,模块"OCR"不支持线程安全。
| [in] | is_enable_thread_safety | 启用线程安全。YES 表示启用线程安全, NO 表示禁用线程安全。 |
| + (NSString *) executeJavaScript: | (NSString *) | java_script |
执行javascript。
| 需要执行的javascript。 |
| + (FSErrorCode) flushLog |
刷新日志文件。
| + (FSRenderConfig *) getRenderConfig |
获取渲染配置。
| + (NSString *) getVersion |
获取当前Foxit PDF SDK库的版本。
| + (BOOL) hasModuleLicenseRight: | (FSModuleName) | module_name |
检查用户是否有权在当前使用的许可证信息中使用Foxit PDF SDK的指定模块 (用于初始化Foxit PDF SDK)。
在Foxit PDF SDK中,一旦库成功初始化,大多数功能都可以使用。 但对于某些特殊功能,只有在许可证信息中定义了指定模块时才能使用。 此函数可用于在使用这些功能之前检查用户是否具有这些特殊模块的权限。
| [in] | module_name | 要检查权限的模块名称。请参考从 FSModuleNameConnectedPDF 开始的值,这应该是这些值中的一个。 |
| + (FSErrorCode) initialize: | (NSString *) | sn | |
| key: | (NSString *) | key | |
使用有效的许可证信息初始化Foxit PDF SDK库。
在应用程序的生命周期中,此函数只能调用一次,并且 应该在调用Foxit PDF SDK中的任何其他函数之前首先调用。
一旦调用了函数 FSLibrary::destroy ,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
| [in] | sn | SN信息字符串,可以从密钥文件"gsdk_sn.txt"或"rdk_sn.txt"中的"SN="部分获取。 |
| [in] | key | 密钥信息字符串,可以从密钥文件"gsdk_key.txt"或"rdk_key.txt"中的"Sign="部分获取。 |
| + (FSErrorCode) initializeWithJSXFAThreadsafety: | (NSString *) | sn | |
| key: | (NSString *) | key | |
| is_optimize_memory: | (BOOL) | is_optimize_memory | |
| enable_js_xfa_threadsafety: | (BOOL) | enable_js_xfa_threadsafety | |
使用有效的许可证信息初始化Foxit PDF SDK库。
在应用程序的生命周期中,此函数只能调用一次,并且 应该在调用Foxit PDF SDK中的任何其他函数之前首先调用。
一旦调用了函数 FSLibrary::destroy ,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 | 此标志用于尝试通过清理内存碎片来优化内存。 YES 表示清理内存碎片,NO 表示不清理。 |
| [in] | enable_js_xfa_threadsafety | 此标志用于启用JavaScript和XFA模块的线程安全。 YES 表示启用,NO 表示不启用。默认值为 NO。 用户需要确保一个PDF文档一次只由一个线程操作。 |
| + (void) matchExternalFontsOnly: | (BOOL) | only_match |
| + (BOOL) registerSecurityCallback: | (NSString *) | filter | |
| callback: | (id<FSSecurityCallback>) | callback | |
向Foxit PDF SDK注册 FSSecurityCallback 对象用于解密具有特殊加密过滤器的PDF。
当此函数成功时,Foxit PDF SDK将接管输入的安全回调对象, 用户不应再直接释放此回调对象; 否则稍后可能发生意外崩溃。
当取消注册安全回调对象并发现它没有被其他对象使用时, Foxit PDF SDK可能通过回调函数 pdf::SecurityCallback::Release 释放安全回调对象。因此,建议用户在函数 FSLibrary::unregisterSecurityCallback: 之后不再使用安全回调对象。
| [in] | filter | 安全回调对象的过滤器名称。这不应该是 nil 或 空字符串。 当用户实现 FSCustomSecurityCallback 的安全回调时, 用户可以指定自己的自定义过滤器字符串, 但需要遵循PDF名称约定。 当用户实现 FSCertificateSecurityCallback 的安全回调时, 过滤器值必须设置为"Adobe.PubSec"。 当用户实现 FSDRMSecurityCallback 的安全回调时, 过滤器值必须设置为"FoxitDRM",否则稍后可能发生错误。 当用户实现 FSRMSSecurityCallback 的安全回调时, 过滤器值必须设置为"MicrosoftIRMServices"或"FoxitRMS",否则稍后可能发生错误。 |
| [in] | callback | FSSecurityCallback 对象,由用户实现并基于 回调类 FSSecurityCallback 。用户不应直接继承 FSSecurityCallback ,而应继承其派生类, 如 FSCustomSecurityCallback 、 FSCertificateSecurityCallback 等。 |
| + (BOOL) registerSignatureCallback: | (NSString *) | filter | |
| sub_filter: | (NSString *) | sub_filter | |
| signature_callback: | (id<FSSignatureCallback>) | signature_callback | |
向Foxit PDF SDK注册第三方 FSSignatureCallback 对象用于签名和验证签名, 以及回调的过滤器和子过滤器名称。
Foxit PDF SDK具有默认的签名回调,定义了过滤器和子过滤器:
如果用户想使用第三方签名回调,请在签名或验证签名过程之前调用此函数。
如果用户通过此函数注册一个与默认签名回调具有相同过滤器和子过滤器的自定义签名回调, 且参数 的值不是 nil, Foxit PDF SDK中的默认签名回调将不起作用。 如果用户通过此函数注册一个与默认签名回调具有相同过滤器和子过滤器的自定义签名回调, 且参数 的值是 nil, Foxit PDF SDK中的默认签名回调将重新生效。
| [in] | filter | 签名回调的过滤器名称,使用ASCII编码。 这不应该是空字符串。 过滤器名称是签名回调的名称。 |
| [in] | sub_filter | 签名回调的子过滤器名称,使用ASCII编码。 子过滤器用于描述签名值的编码和 签名字典中的密钥信息。 |
| [in] | signature_callback | 自定义的 FSSignatureCallback 对象,由用户实现 并基于回调类 FSSignatureCallback 。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此签名回调对象在通过函数 FSLibrary::destroy 释放Foxit PDF SDK之前保持有效。 如果这是 nil,表示要从Foxit PDF SDK中移除已注册的第三方回调。 |
| + (void) registerXFAAppProviderCallback: | (id<FSAppProviderCallback>) | callback |
向Foxit PDF SDK注册 FSAppProviderCallback 对象。
在处理XFA文档之前应首先调用此函数。
| [in] | callback | FSAppProviderCallback 对象,由用户实现 并基于回调类 FSAppProviderCallback 。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此XFA应用程序提供程序回调对象在通过函数 FSLibrary::destroy 释放Foxit PDF SDK之前保持有效。 |
| + (FSErrorCode) reinitialize |
重新初始化Foxit PDF SDK库。
当用户遇到内存不足错误或用户想在调用函数 FSLibrary::destroy 之前 重新初始化Foxit PDF SDK库时,用户可以调用此函数来重新初始化Foxit PDF SDK库。
一旦调用了函数 FSLibrary::destroy ,Foxit PDF SDK库就无法 在该应用程序的生命周期中再次初始化。
| + (BOOL) setActionCallback: | (id<FSActionCallback>) | action_callback |
设置 FSActionCallback 对象到Foxit PDF SDK,以帮助执行PDF动作。
用户应该实现一个动作回调对象并调用此函数来设置动作回调对象 到Foxit PDF SDK,如果需要执行PDF动作,例如填写PDF表单。
| [in] | action_callback | 自定义的 FSActionCallback 对象。nil 表示不使用 任何动作回调对象。用户应确保所有回调函数都已在应用程序级别实现。 如果这是一个有效的动作回调对象,Foxit PDF SDK将接管此回调对象的管理, 用户不应直接释放它。 |
| + (BOOL) setAnnotIconProviderCallback: | (id<FSIconProviderCallback>) | annot_icon_provider |
设置自定义的 FSIconProviderCallback 对象到Foxit PDF SDK。
用户可以调用此函数为注释设置自定义图标提供程序。 如果此函数被多次调用,Foxit PDF SDK将只保留最后一个图标提供程序。 如果此函数从未被调用过,Foxit PDF SDK将使用默认的标准图标提供程序。
| [in] | annot_icon_provider | 自定义的注释图标提供程序, 基于回调类 FSIconProviderCallback 实现。 如果这是 nil,自定义注释图标提供程序 将从Foxit PDF SDK中移除,并使用默认的标准图标提供程序。 应用程序应确保此图标提供程序对象在被从Foxit PDF SDK中移除或 调用函数 FSLibrary::destroy 之前保持有效。 |
| + (BOOL) setCacheSize: | (unsigned int) | size |
设置PDF库缓存大小的上限。
如果应用程序没有设置缓存大小限制,默认情况下缓存大小将在内部 设置为200兆字节。
| [in] | size | 缓存的上限,单位为兆字节,范围0~4096。 如果设置为0,表示不使用缓存大小限制。 |
| + (void) setDefaultICCProfilesPath: | (NSString *) | icc_profile_folder_path |
设置包含默认ICC配置文件的文件夹路径。
默认ICC配置文件在Foxit PDF SDK包的"res"文件夹中提供。默认ICC配置文件 "sRGB Color Space Profile.icm"、"sGray.icc"和"USWebCoatedSWOP.icc"。Foxit PDF SDK将 从输入的文件夹路径中加载这些默认的ICC配置文件。
如果输入的文件夹路径不存在或指定文件夹中没有包含所有默认的ICC配置文件, 此函数将抛出异常 FSErrFilePathNotExist 。
| [in] | icc_profile_folder_path | 包含默认ICC配置文件的有效文件夹路径。 |
| + (BOOL) setDocEventCallback: | (id<FSDocEventCallback>) | callback |
设置 对象到Foxit PDF SDK。
| [in] | callback | 对象。 nil 表示不使用任何文档事件回调对象。 |
| + (BOOL) setFontMapperCallback: | (id<FSFontMapperCallback>) | callback |
设置 对象到Foxit PDF SDK。
一旦向Foxit PDF SDK设置了有效的自定义字体映射器回调, Foxit PDF SDK将在映射字体时首先使用此回调。
| [in] | callback | 对象。 nil 表示不使用任何自定义字体映射器回调对象。 |
| + (void) setLogFile: | (NSString *) | log_file_path |
设置日志文件路径。
在向Foxit PDF SDK设置日志文件路径后,所有日志都将写入日志文件。 目前,Foxit PDF SDK中的日志信息比较简单;这将在未来版本中改进。
| [in] | log_file_path | 日志文件路径。 |
| + (void) setLogFileWithStreamCallback: | (id<FSFileStreamCallback>) | log_file |
设置日志文件流。
在向Foxit PDF SDK设置日志文件后,所有日志都将写入日志文件流。 目前,Foxit PDF SDK中的日志信息比较简单;这将在未来版本中改进。
| [in] | log_file | 日志文件流。 |
| + (BOOL) setNotifierCallback: | (id<FSNotifierCallback>) | notifier |
设置 对象到Foxit PDF SDK。
用户可以调用此函数向Foxit PDF SDK设置通知回调对象, 以便在事件(如OOM)发生时通知用户。
| [in] | notifier | 对象。用户应确保所有回调函数 都已在应用程序级别实现。 |
| + (void) setRenderConfig: | (FSRenderConfig*) | render_config |
设置渲染配置。
| [in] | render_config | 要设置的渲染配置对象。 |
| + (void) setRenderTextGamma: | (float) | gamma |
设置文本渲染的伽马值。
如果不调用此函数设置伽马值,Foxit PDF SDK将使用2.2作为默认值。
| [in] | gamma | 伽马值。应该大于0。 |
| + (BOOL) setTimeStampCallback: | (id<FSTimeStampCallback>) | timestamp_callback |
设置 FSTimeStampCallback 对象到Foxit PDF SDK,以帮助与时间戳服务器交互。
当此函数成功时,Foxit PDF SDK将在签名期间接管默认的时间戳交互, 用户不应再直接释放此回调对象; 否则稍后可能发生意外崩溃。
当 timestamp_callback 为 nil 时, Foxit PDF SDK可能通过回调函数 pdf::TimeStampCallback::Release 释放时间戳回调对象。
| [in] | timestamp_callback | 自定义的 FSTimeStampCallback 对象,由用户实现 并基于回调类 FSTimeStampCallback 。 用户应确保所有回调函数都已在应用程序级别实现, 还应确保此时间戳回调对象在通过函数 FSLibrary::destroy 释放Foxit PDF SDK之前保持有效。 如果这是 nil,表示要从Foxit PDF SDK中移除已注册的第三方回调。 |
| + (BOOL) unregisterSecurityCallback: | (NSString *) | filter |
从Foxit PDF SDK中取消注册 FSSecurityCallback 对象。
当取消注册安全回调函数并发现它没有被其他对象使用时, Foxit PDF SDK可能通过回调函数 pdf::SecurityCallback::Release 释放安全回调函数。因此,建议用户在函数 FSLibrary::unregisterSecurityCallback: 之后不再使用安全回调对象。
| [in] | filter | 用于注册安全回调对象的过滤器名称。 请参考函数 FSLibrary::registerSecurityCallback:callback: 中 参数 filter 的注释。 |
| + (void) unregisterSignatureCallback: | (NSString *) | filter | |
| sub_filter: | (NSString *) | sub_filter | |
取消注册与特定过滤器和子过滤器关联的第三方 FSSignatureCallback 对象 从Foxit PDF SDK中。如果有可用的默认签名, 它将与其过滤器和子过滤器值一起恢复。
Foxit PDF SDK具有默认的签名回调,定义了过滤器和子过滤器:
| [in] | filter | 签名回调的过滤器名称,使用ASCII编码。 这不应该是空字符串。 过滤器名称是签名回调的名称。 |
| [in] | sub_filter | 签名回调的子过滤器名称,使用ASCII编码。 子过滤器用于描述签名值的编码和 签名字典中的密钥信息。 |