PDFium Delphi Component 文件

PDFium Delphi Component 组件库

面向专业场景的 PDF 处理与查看解决方案
版权所有 © 2024-2026 losLab Software
TPdf 组件 TPdfView 组件

产品概述

PDFium Delphi Component 是一套完整、专业级的组件库,为 Delphi 与 C++Builder 应用带来强大的 PDF 处理与查看能力。它使用 PDFium 渲染引擎进行页面渲染与文档读取,并用 Object Pascal 实现该引擎未提供的其余全部能力

评估这套库时,这一区分非常关键。PDFium 负责绘制页面、提取文本和读取既有结构;它无法签署文档、写入加密、校验 PDF 标准,也无法产出线性化或增量修订。PDFium Delphi Component 附带约 115,000 行 Object Pascal 代码,分布在 55 个单元中,其中超过 62,000 行位于 36 个在 PDFium API 中完全没有对应物的单元——涵盖密码学、签名、加密、标准合规、PDF 序列化、表单数据交换、排版与文字整形。所有代码均以源码形式交付

该库由三个已注册的组件构成:TPdf 负责文档处理与操作,拥有 475 个公开成员;TPdfView 负责交互式视觉呈现,拥有 152 个公开成员;TPdfThumbnailView 负责页面导航。无论你需要构建简单的 PDF 查看器、签名文档工作流、归档转换管线,还是完整的文档管理系统,PDFium Delphi Component 都能提供所需的工具与灵活性

超越引擎的能力

以下能力在 PDFium C API 中没有对应物。每一项都由 PDFium Delphi Component 用 Object Pascal 实现,依据已公开发布的 ISO、ETSI、IETF 或 FIPS 条款进行验证,并以源码形式提供

数字签名 — PAdES

提供完整的签名能力,而不只是读取签名。PDFium 只能报告签名字典存在;PDFium Delphi Component 则能创建签名

加密与文档完整性

PDFium 能打开加密文件,但不负责写入加密。PDFium Delphi Component 依据 ISO 32000-2 及其技术规范实现了加密写入端

标准合规

六大 ISO 标准族,每个都配备返回条款级结果代码的校验器,以及配套的保存或标记注入路径

PDF 序列化与修订

引擎只提供一种顺序的整体文件保存。应用经常需要更多能力,因此 PDFium Delphi Component 在引擎的语义输出之上自行编写修订

PDFium 未暴露的内容服务

核心组件

TPdf 组件 — 文档处理引擎

TPdf 是 PDF 处理体系的核心,负责所有文档级操作,包括加载、保存、文本提取、表单处理与元数据管理

TPdfView 组件 — 交互式查看器控件

TPdfView 是一个功能完备的可视化控件,提供具备完整用户交互能力的 PDF 查看体验

主要功能与能力

文档处理

文本与内容操作

交互式表单与注释

视觉渲染与显示

开发者友好特性

技术规格

项目 说明
渲染引擎 Google PDFium — 业界标准的 PDF 引擎,经久考验
PDF 支持 PDF 1.0 至 1.7 版本,含加密与密码保护文件
平台兼容性 Windows 32 位与 64 位应用
IDE 支持 Delphi XE5 / C++Builder XE5(RAD Studio XE5)至 Delphi/C++Builder 13.1 Florence(RAD Studio 13.1)、Lazarus 3.8+
字符编码 完整 Unicode 支持,多语言文本处理
内存管理 面向大文档优化,资源使用高效
线程安全 单线程设计(遵循 PDFium 要求)

架构设计

PDFium Delphi Component 采用分层架构模式,清晰划分关注点,最大化代码复用:

分层架构

层 文件 职责
VCL 组件 PDFium.pas, FPdfThumbnail.pas 带设计期支持的 Delphi VCL 组件(TPdf、TPdfView、TPdfThumbnailView)
API 绑定 FPdfView.pas, FPdfDoc.pas, FPdfText.pas, FPdfEdit.pas, FPdfAnnot.pas, FPdfFormFill.pas, FPdfPageOps.pas, FPdfAttachment.pas, FPdfSignature.pas, FPdfStructTree.pas, FPdfDataAvail.pas, FPdfExtensions.pas, FPdfFWLEvent.pas, FPdfCompress.pas, FPdfUtils.pas PDFium DLL 调用所用的函数指针声明
PDF/A 流水线 FPdfPdfa.pas PDF/A-1b 生成(XMP 注入、sRGB ICC OutputIntent、catalog 更新)与校验(合规级别检测、问题枚举)
异步基础设施 FPdfAsync.pas IPdfCancellationToken / IPdfCancellationTokenSource、PdfNoCancellationToken 单例,以及面向长耗时渲染与导出工作的 TPdfFuture<T> 辅助类
几何辅助 FPdfMatrix.pas FS_MATRIX 的 OO 封装,提供 Translate、Scale、Rotate、Flip、Skew、Multiply 等辅助方法
页面操作 FPdfPageOps.pas FPDF_ImportPagesByIndex、FPDF_ImportPages、FPDF_ImportNPagesToOne、FPDF_MovePages 的封装,可伸缩的文件支撑批量调度,以及 Form-XObject 辅助(CreateXObjectFromPage / InsertFormObjectFromXObject)
缩略图侧栏 FPdfThumbnail.pas TPdfThumbnailView — 可滚动的逐页缩略图侧栏,带悬停、选中与 OnPageClick 导航
原生引擎 DLLs\Win32|Win64\pdfium.dll and pdfium.v8.dll Google PDFium 原生渲染引擎,可选 V8 启用版本

组件层次结构

关键设计模式

应用场景

商业应用

教育与科研

法律与合规

技术与工程

优势与收益

性能与可靠性

商业价值

开发体验

快速上手

PDFium Delphi Component 旨在让你即刻投入生产。组件库包含:

无论你要构建简单的 PDF 查看器,还是复杂的文档处理系统,PDFium Delphi Component 都能为你的 Delphi 与 C++Builder 应用打下专业级 PDF 能力的基础

继续探索