Skip to content

福昕 PDF SDK - 移动端(含鸿蒙)

福昕 PDF SDK 移动版旨在帮助开发者快速将强大的福昕 PDF 技术集成到移动端和鸿蒙应用程序中。即使对 PDF 了解有限,开发者也能通过福昕开发包,在移动和鸿蒙平台上快速构建专业的 PDF 阅读器。

支持平台:

  • Android
  • iOS
  • MacOS (Catalyst 技术)
  • 鸿蒙
    • HarmonyOS Next
    • OpenHarmony

主要框架

移动版 SDK 由三个核心组件构成,所有平台共享此架构,便于集成和跨平台支持。

组件概览

组件名称描述平台与提供方式
UI EXTENSIONS带内置 UI 的开源库(或工程)Android: FoxitRDKUIExtensions.aar
iOS: uiextensionsDynamic.framework
MacOS: uiextensionsDynamic.xcframework
HarmonyOS Next: FoxitRDKUIExtensions.har
PDF VIEW CONTROLPDF 基础显示类Android: FoxitRDK.aar
iOS: FoxitRDK.framework
MacOS: FoxitRDK.xcframework
HarmonyOS Next: FoxitRDK.har
OpenHarmony: FoxitRDK.har
PDF COREPDF 数据处理层的核心操作类所有平台通用,相关数据及接口封装在 FoxitRDK.har 中

提示

  • OpenHarmony 平台暂不提供 UI EXTENSIONS 组件。
  • macOS 平台通过 Catalyst 技术支持 iOS SDK。

组件介绍

UI Extensions 组件

UI Extensions 组件是一个带内置 UI 的开源库,支持对内置的文本选择、标记注释、大纲导航、阅读书签、全文检索、填表、文本重排、文档附件、数字/手写签名、文档编辑和密码加密等功能进行自定义。这些功能通过 PDF Core API 和 PDF View Control 实现。

  • 版本演进:
    • 4.0 版本起,封装基础 UI 实现到 PDFReader 类,简化 PDF 阅读器构建,支持配置文件自定义。
    • 5.0 版本起,所有 UI 元素支持 API 自定义,提供更高级 API 和配置文件。
    • 6.0 版本起,移除 PDFReader 类,将其 API 迁移至 UI Extensions 组件。

PDF View Control 组件

PDF View Control 是一个工具类,提供与渲染的 PDF 文档交互的接口。基于福昕 PDF 渲染技术,支持快速高质量的渲染、缩放、滚动和页面导览。该控件继承自平台相关 viewer 类,支持扩展。

PDF Core API

PDF Core API 是 SDK 的核心,基于福昕底层 PDF 技术,提供 PDF 基础功能操作,包括渲染、分析、提取、搜索、表单、签名、笔迹、证书、加密、注释等,确保应用高性能和效率。

UI Extensions 组件详解

提示

  • OpenHarmony 平台目前暂未实现 UI Extensions 组件。

UI Extensions 组件概述

UI Extensions 组件是一个带内置 UI 的开源库,采用模块化设计,将各项功能细化为独立的模块(module)。默认情况下,除了用于文件管理的 LocalModule 外,所有模块都会自动加载。开发者可通过实现 Module 接口类自定义模块,并使用 UIExtensionsManager#registerModule 进行注册,或使用 UIExtensionsManager#unregisterModule 进行反注册。

UIExtensionsManager 包含主框架 UI (如顶部/底部工具栏) 和模块间共享的 UI 组件,并支持各功能模块的独立加载。功能模块加载时,会适配调整主框架 UI,并建立消息事件响应机制。每个功能模块可包含特有的 UI 组件和独立的消息事件处理逻辑。UIExtensionsManager 负责将来自 PDF View Control 组件的消息和事件分发到各功能模块。

UIExtensionsManager 与 Modules 的关系:

UIExtensionsManager_and_modules.png

事件处理机制

Tool handler 和 annotation handler 处理来自 PDFViewCtrl 的触屏、手势等事件。事件触发时,PDFViewCtrl 将事件传递给 UIExtensionsManager:

  • Tool Handler 响应: 若存在当前 tool handler,UIExtensionsManager 将事件传递给它,事件处理结束。
  • Annotation Handler 响应: 若存在选中的 annotation,UIExtensionsManager 将事件传递给其对应的 annotation handler,事件处理结束。
  • Selection Tool Handler 响应: 若不存在 tool handler 和选中的 annotation,UIExtensionsManager 将事件传递给 selection tool handler。
    • Text Selection Tool: 处理文本选择事件 (如添加高亮注释)。
    • Blank Selection Tool: 处理空白区域事件 (如添加笔记注释)。

提示:

  • Tool Handler 和 Annotation Handler 不会同时响应事件。
  • Tool Handler 主要用于创建注释 (暂不支持 Link Annotation)、创建签名和文本选择。
  • Annotation Handler 主要用于编辑注释和填写表单。

Tool Handler 和 Annotation Handler 事件响应流程:

ToolHandler_and_AnnotationHandler.png

UI 组件主要功能对照表

功能描述安卓iOSHarmonyOS NextOpenHarmony
PDF Document打开和关闭文件,设置和获取 metadata
PDF Page解析、渲染、阅读、编辑文档页面
Render平台图像设备在 bitmap 上创建图像渲染引擎
Reflow重排页面内容
Crop裁剪 PDF 页面
Text Select文本选择x
Text Search文本搜索,并且支持全文索引搜索
Outline (bookmark)定位和链接到文档中的兴趣点
Reading Bookmark标记文档中感兴趣的页面和段落位置x
Annotation创建、编辑和移除 annotations
Layers添加、编辑和移除 PDF 层内容
Attachments添加、编辑和移除文档级的附件
Form支持 JavaScript 填表,通过 XFDF/FDF/XML 文件导入和导出表单数据 支持创建文本域、复选框、单选按钮、组合框、列表框和签名域
XFA支持静态和动态 XFA
Signature签名 PDF 文档,验证签名,添加或删除签名域 添加和验证第三方数字签名 支持签名的长期验证 (LTV)
Fill& Sign用文本和符号填写扁平化表单 (即非交互式表单)
Security密码和证书加密 PDF 文档
Pan and Zoom调整视图中的放大倍数和位置以匹配 Pan&Zoom 缩略视图中的矩形区域xx
Print打印 PDF 文档xx
RMS支持微软 IRMv1 和 IRMv2 标准的 RMS 解密xx
Comparison对比两个 PDF 文档,并且标记文档之间的差异
Scanning扫描纸质文档,并将其转换为 PDF 文档xx
Speak支持阅读 PDF 文档中的文本xx
Split Screen支持分屏x
Right to Left支持 RTL (Right to Left)
Out of Memory从内存不足中恢复运行x

INFO

Outline 是 PDF 规范中的技术术语,在传统的桌面 PDF 阅读器中常叫做书签Reading bookmarks 常用于移动端和平板的 PDF 阅读器中,用来标记阅读进度或者用户感兴趣的段落Reading bookmark 在技术上并不是 outline,它存储在应用程序中而不是 PDF 本身*