通过配置文件自定义 UI
福昕 PDF SDK iOS 版支持通过 JSON 配置文件自定义 UI Extensions 的功能模块和 UI 设置。配置文件可以在初始化 UIExtensionsManager 时传入,SDK 会根据配置启用或禁用相应功能模块。
加载配置文件
objc
NSString *configPath = [[NSBundle mainBundle] pathForResource:@"uiextensions_config"
ofType:@"json"];
NSData *configData = [NSData dataWithContentsOfFile:configPath];
UIExtensionsManager *extensionsMgr = [[UIExtensionsManager alloc]
initWithPDFViewControl:pdfViewCtrl
configuration:configData];
配置项说明
UIExtensionsConfig 提供了以下主要模块开关:
| 配置项 | 说明 | 默认值 |
|---|---|---|
loadThumbnail | 启用页面缩略图模块(支持删除/添加/旋转页面) | YES |
loadReadingBookmark | 启用阅读书签模块 | YES |
loadOutline | 启用 PDF 大纲(Outline)模块 | YES |
loadAttachment | 启用附件模块 | YES |
loadForm | 启用表单模块 | YES |
loadSignature | 启用签名模块 | YES |
loadSearch | 启用文本搜索模块 | YES |
loadPageNavigation | 启用页面导航模块 | YES |
loadEncryption | 启用密码加密模块 | YES |
runJavaScript | 启用 JavaScript 支持 | YES |
copyText | 允许复制文本 | YES |
disableLink | 禁用超链接跳转 | NO |
JSON 配置文件格式
配置文件为标准 JSON 格式,以下为结构示例:
json
{
"modules": {
"thumbnail": true,
"readingBookmark": true,
"outline": true,
"attachment": true,
"signature": true,
"search": true,
"pageNavigation": true,
"form": true,
"encryption": true,
"javascript": true
},
"permissions": {
"copyText": true,
"disableLink": false
},
"uiSettings": {
"pageMode": "Single",
"continuous": true,
"colorMode": "Normal",
"zoomMode": "FitWidth",
"fullscreen": false,
"highlightForm": true,
"highlightLink": true
}
}
通过代码配置
除 JSON 文件外,也可以通过 UIExtensionsConfig 对象直接配置:
objc
UIExtensionsConfig *config = [[UIExtensionsConfig alloc] initWithJSONData:nil];
config.loadThumbnail = YES;
config.loadOutline = YES;
config.loadForm = YES;
config.loadSignature = YES;
config.loadSearch = YES;
config.copyText = YES;
UIExtensionsManager *extensionsMgr = [[UIExtensionsManager alloc]
initWithPDFViewControl:pdfViewCtrl
configurationObject:config];
API 参考
UIExtensionsConfig、UIExtensionsManager 的完整接口说明请参阅 API 手册。