源码级原生 PDF · Delphi 与 C++Builder

把工业级 PDF 能力装进你的 RAD Studio 应用,一行代码都不依赖外部运行时

HotPDF 是为 Delphi 与 C++Builder 打造的源码级 PDF 组件库:纯原生、无外部 PDF 运行时或 DLL,把高级排版塑形、合规签名、标准预检与多吉字节处理能力,全部固化进你的单一可执行进程里

  • 纯 Delphi 源码 · 无外部 PDF DLL
  • OpenType GSUB + GPOS 全引擎
  • 进程内 PFX/PKCS#12 签名
  • PAdES B-B / B-T / B-LT / B-LTA
  • PDF/A · PDF/X · PDF/UA 三轴合规
  • 多吉字节 Direct File API

八项难以被同类组件复制的差异化

下列卖点均为 HotPDF 已交付的能力,而非路线图承诺。每条都附带可验证的实现证据——具体到源码单元、函数名与跑通的测试

源码级原生 · 无外部 PDF 运行时

直接以 Pascal 源码集成进工程,全程在你的进程内生成、解析、保存 PDF,调试与部署完全可控。图像/压缩所用的 C 后端(zlib-ng、libjpeg-turbo、OpenJPEG、jbig2dec)均以静态目标文件链接,运行期没有额外的 PDF 引擎 DLL

入口类 THotPDF · 47 个 Pascal 源码单元

完整 OpenType 塑形 + 定位

内置全量 GSUB(LookupType 1–8)替代引擎与全量 GPOS(全部 9 种 LookupType)定位引擎:连字、小型大写、上下文替换、字符配对/上下文字距、mark-to-base、mark-to-mark、cursive 联结一应俱全。多数同类 Delphi PDF 组件在此处空白

在文本输出阶段自动启用 20+ 项 OpenType 排版特性

生成器端复杂脚本塑形

20+ 脚本的生成器端塑形:阿拉伯语(含 Supplement / Extended-A/B)、叙利亚语、蒙古语、藏语、天城文及印度语系、爪哇语、泰/老挝语、希伯来语、高棉语、缅甸语等;配以 UAX #9 双向管道与完整 /ToUnicode 反向映射,复制/粘贴/搜索能还原原始码点

含 35 项连字反向映射(LAM-ALEF、YEH-HAMZA 族、真主名等)

进程内 PFX / PKCS#12 签名 · 零依赖

一行调用 THotPDF.SignPDFWithPFX 完成 PFX/PKCS#12 签名——无需 OpenSSL、无需平台加密提供程序。ASN.1、RSA、AES、PKCS#12 解包与 CMS SignedData(RFC 5652)整套链路都在 HotPDF 内部实现,结果可复现、可审计

实现单元:HPDFASN1 / HPDFRSA / HPDFCrypt / HPDFPFX / HPDFCMS / HPDFAES

PAdES 长期验证 · 端到端

支持 PAdES B-B / B-T / B-LT / B-LTA——欧盟 eIDAS 合规所需的那条硬骨头:RFC 3161 时间戳、DSS/VRI 字典、文档时间戳签名、Seed Value 约束、XAdES-in-PDF 一应俱全。竞品通常停在基础 CMS 这一步

面向长期归档与电子签章场景,直接满足法规存证要求

三轴合规 + 预检报告

同时锁定 PDF/A-1/-2/-3、PDF/X-1a/-3/-4、PDF/UA-1 三套独立合规剖面;不合规调用直接抛诊断异常而非悄悄生成不合规 PDF。CreatePreflightReport 可输出文本/JSON/HTML/CSV 报告,并经 veraPDF 验证

逐方法 PDF 版本闸控:RequirePDFVersion + StrictVersionLock

多吉字节 Direct File API

文件到文件直接处理,无需在内存构建对象图:DAOpenFileReadOnlyDACopyFileEncryptFileDecryptFile 等可处理经典 xref 表、XRef 流、混合引用与增量更新文件,吞吐量以秒计

2 GB / 167 万对象:AES-256 加密约 14 秒;1.25 GB 文档页数毫秒级读出

CFF / OpenType-CFF / CID 子集化

对 TrueType、OpenType-CFF、CID 键值 CFF 字体做子集化(EnableFontSubsetting),并保留 Type0/Identity-H 的字形 ID——CJK 文档可从约 14 MB 的 CID 键值 CFF 收缩到 500 KB–2 MB,典型拉丁 TTF 从 350 KB 收缩到 10–15 KB

确定性子集标签,输出字节级可复现

四种报表引擎适配器

FastReport、QuickReport、ReportBuilder、DevExpress ExpressPrinting(覆盖 cxGrid/cxRichEdit/cxScheduler/cxPivotGrid)外加 DBGrid 适配器——把你现有报表一键接到 HotPDF 的 PDF 后端,无需重写报表

适配器单元位于 Lib/addons/<engine>

关键证据,不只是说法

2 GB单文档处理,167 万对象实测
47个 Pascal 源码单元覆盖
41%对象流压缩后体积下降实测
756+API、示例、合规与工作流主题
已交付、可验证。 DUnitX(Win32 / Win64)与 GoogleTest(C++Builder)回归测试持续守门,合规声明经 veraPDF 校验;PDFSpecComplianceMatrix.md 记录其支持创作面下“无未实现的 PDF 规范代码缺口”

谁该认真看看 HotPDF

企业级文档 / 电子签章

合同、发票、归档——需要 PAdES 长期验证、增量更新(BeginIncrementalUpdate)以保住已签名字节范围,以及 PDF/A 归档合规

多语言 / 复杂文字出版

阿拉伯语、印度语系、CJK 等需要正确塑形与定位、需要正确复制粘贴还原的场景——HotPDF 把“渲染对、复制也对”一次解决

海量 / 服务端 PDF 流水线

批量加密、解密、页数盘点、抽取——Direct File API 让多吉字节文件无需整份驻留内存即可处理

既有报表系统接 PDF

已用 FastReport / QuickReport / ReportBuilder / DevExpress 报表——一行适配器即可换上 HotPDF 后端,保留既有报表设计

桌面 / 单文件交付

需要单一可执行部署、不愿带第三方 PDF DLL、希望全链路调试进自己进程的桌面与行业软件

可访问性 / PDF/UA

标签化 PDF 结构树、角色映射、标记内容、/Alt//ActualText 等无障碍属性,满足 PDF/UA-1(ISO 14289-1)

一行签名,零外部依赖

不需要 OpenSSL、不需要平台加密提供程序——PFX/PKCS#12 签名完全在 HotPDF 进程内完成:

var Pdf: THotPDF;
Pdf := THotPDF.Create(nil);
try
  Pdf.FileName := 'contract.pdf';
  Pdf.SignPDFWithPFX('contract.pdf', 'signed.pdf',
                     'cert.pfx', 'pfx-password');
finally
  Pdf.Free;
end;

需要长期验证(PAdES B-LTA)?追加 DSS/VRI 词典与 RFC 3161 时间戳即可;需要把任意已签名文档做增量更新而不破坏原签名字节范围,用 BeginIncrementalUpdate / SaveIncrementalUpdate

下一步

完整能力清单组件概述 开始, 在 文档目录 里按类(THotPDFTHPDFPageTHPDFPara)逐项深入, 或直接翻 更新日志 看最近交付了哪些能力