Skip to content
Guides

概览与架构

ComPDFKit_Tools 是 ComPDF SDK 为 Android 平台提供的 UI 组件模块。该模块在核心库 compdfkit 和 UI 基础库 compdfkit-ui 之上,封装了完整的文档交互界面与业务逻辑,开发者可直接集成或二次开发。

模块定位

compdfkit          ← 核心 PDF 引擎(渲染、解析、编辑)
compdfkit-ui       ← 基础 UI 控件(CPDFReaderView 等)
ComPDFKit_Tools    ← 业务 UI 组件(本模块)
PDFViewer          ← 示例应用
  • compdfkit:提供底层 PDF 解析、渲染、注释、表单、签名等能力。
  • compdfkit-ui:提供 CPDFReaderViewCPDFViewCtrl 等基础视图控件。
  • ComPDFKit_Tools:在以上两者基础上,提供开箱即用的完整文档界面,包括工具栏、属性面板、弹窗、配置系统等。

包结构

模块源码位于 com.compdfkit.tools 包下,按功能划分为以下子包:

包名功能核心类
common/公共框架CPDFDocumentActivityCPDFDocumentFragmentCPDFConfiguration、ContextMenu、Toolbar、Properties、工具类
annotation/注释模块CAnnotationToolbar、注释列表、各注释类型属性编辑 Fragment
viewer/阅读模块书签、大纲、阅读设置、搜索与替换、缩略图
forms/表单模块CFormToolbar、各表单类型属性编辑 Fragment
contenteditor/内容编辑CEditToolbar、文本属性编辑、图片属性编辑
docseditor/页面编辑页面编辑面板、插入/删除/旋转/拖拽排序
security/安全功能文档加密对话框、水印编辑器
signature/数字签名签名工具栏、证书导入/创建、签名验证与信息
compress/PDF 压缩压缩对话框

common 包详细结构

common/ 是整个模块的核心框架包,包含以下子模块:

入口类

  • CPDFDocumentActivity:开箱即用的 PDF 文档 Activity,支持通过 Intent 传递文件路径/Uri、密码、配置等参数。
  • CPDFDocumentFragment:可嵌入任意 Activity 的 PDF 文档 Fragment,支持与宿主页面灵活交互。

配置系统(common/pdf/config/

通过 JSON 文件驱动的配置系统,控制所有 UI 行为:

  • CPDFConfiguration:顶层配置类,聚合所有子配置。
  • ModeConfig:模式配置(初始模式、可用模式列表、UI 可见性)。
  • ToolbarConfig:工具栏配置(菜单项、自定义按钮)。
  • AnnotationsConfig:注释配置(可用类型、工具、默认属性)。
  • ContentEditorConfig:内容编辑配置。
  • FormsConfig:表单配置。
  • ReaderViewConfig:阅读视图配置(显示模式、主题、间距、缩放等)。
  • GlobalConfig:全局配置(主题模式、保存行为、BOTA、搜索、水印等)。
  • ContextMenuConfig:上下文菜单配置。

上下文菜单(common/contextmenu/

为不同对象提供长按/选中菜单,包括 20+ 种菜单实现:Markup 注释、Shape 注释、FreeText、Ink、Stamp、Sound、Link、EditText、EditImage、EditPath、各类表单、长按空白、选中文本、搜索替换、截图等。

属性面板(common/views/pdfproperties/

统一的属性编辑面板架构,通过 CStyleDialogFragment 展示,支持颜色、字体、透明度、线宽等属性编辑。

事件系统(common/utils/customevent/

  • CPDFCustomEventCallbackHelper:自定义事件回调管理器。
  • CPDFCustomEventType:事件类型枚举(工具栏点击、上下文菜单点击等)。
  • CPDFCustomEventField:事件字段常量。

工具类(common/utils/

文件操作、权限管理、图片处理、打印、线程池、动画等通用工具。

快速了解

如果你想…请参考
快速集成并显示 PDF集成指南快速开始
了解配置系统配置概述
自定义工具栏按钮顶部工具栏自定义菜单按钮
自定义注释/表单行为注释模块 / 表单模块
监听用户操作事件回调与监听
自定义应用主题主题与样式