Free Pascal 与 Lazarus
用 Free Pascal 3.3.1 或更高版本和 Lazarus 构建 Win32 与 Win64 应用,走 Lib/FPC/HotPDFLaz.lpk 或可复现的 build-Win32-Lib-FPC.cmd 与 build-Win64-Lib-FPC.cmd 脚本
支持文档创建与加载,附带 Flate 压缩和 AES 加密;TIFF、JPEG 2000、JBIG2、色彩管理和 Zopfli 编解码器不链入 Free Pascal 构建,请求时会直接报错
整个库都能在 Free Pascal 下编译,包括 XFA 表单扁平化、XPS、EPUB 和 CBZ 文档处理器、查看器组件以及 HTML 导入
为什么选择 HotPDF
八个难以复制的差异点、支撑证据,以及 HotPDF 面向的用户群——一页讲完:无 DLL 的原生源码、完整 OpenType shaping、进程内 PFX 签名、PAdES、三轴符合性、多 GB 级 Direct File API 等
查看核心卖点
Linux 便携核心
在没有活动桌面的环境下使用原生 Linux 文件映射、对象解析、压缩、密码学、PDF 序列化和共享字体解码
便携核心契约与验收范围
合同比较
对齐段落,检视词或句级修改与被移动的条款,排除反复出现的页面装饰元素,导出有界的 HTML 审阅或经源校验的批注 PDF
合同措辞与源位置
能力地图
HotPDF 覆盖的能力一页列全:表单、批注、安全与签名、标准、图层、图形、图像、文本、大文件与流式输出
HotPDF 概览
核心组件
创建文档、配置输出、管理元数据、保护文件并完成生成的 PDF
THotPDF class
高级工作流
查看已加载文档解析、直接文件处理、xref-stream 解析、符合性输出以及文本 shaping 辅助工作流
高级工作流方法
已加载文档工具箱
通过已加载文档 API 编辑、合并、检查、比较、签名、搜索、打印、显示和恢复既有 PDF,支持结构化对象图 diff、对齐的页面变更、感知渲染指标与热力图、多 widget 表单编辑、完整的注释编辑、裸链接自动激活和缓存感知的 VCL 查看
已加载文档工具箱 · 文档比较
高级 AcroForm 处理
评估带条件、字符串、日期和数组运算的有界类型化计算与校验表达式,重建可变文本外观,解析注释状态,并按签名策略扁平化选定的字段
高级 AcroForm 处理 · 关系缓存
有界 JavaScript 运行时
通过 Win32 和 Win64 上的静态或 bridge-DLL QuickJS 部署运行应用可控的 JavaScript,资源预算严格、诊断稳定
QuickJS 运行时部署与 API
交互式文档处理
检查并净化 RichMedia 资产,无需扁平化即可运行动态 XFA widget,查询和编辑无损的 XFA packet DOM,评估有界的表单脚本,并对所有受支持的 XFDF 注释子类型做完整往返
交互式文档处理 · 交互式 XFA 运行时 · XFA packet DOM · XFA 表单脚本
电子发票业务规则
校验 Factur-X 和 ZUGFeRD 容器,注册带版本的业务与国家规则层,并经配置好的 Saxon 引擎执行官方 XRechnung 与法国 CTC 规则,范围显式、诊断一律 fail-closed
电子发票业务规则校验
签名、无障碍与 Portfolio
校验签名与证据,深度检查并事务化规范化安全的 PDF/A-4 结构,以带版本的规则和有界的内容工作量校验 PDF/X-6 的实际着色、叠印与透明度,从布局树生成 PDF/UA 结构,为 PDF/UA-2 诊断文档、注释、表单、导航和标记语义,导出共享的机器可读符合性发现,并构建元数据丰富的 PDF Portfolio
CMS 校验报告 · 已加载 PDF/A-4 光栅转换 · 源流别名检测 · PDF/A-4 校验 · PDF/A-4 校验选项 · PDF/A-4 修复 · PDF/A-4 修复选项 · PDF/X-6 校验 · PDF/X-6 校验选项 · PDF/UA-2 校验与修复 · PDF/UA-2 校验选项 · 自动布局结构 · 符合性发现 JSON · PDF Portfolio 集合
字体回退与竖排文本
通过按文字系统划分的字体链解析 Unicode 标量,检查可操作的缺字诊断,并以 Identity-V 和 OpenType 竖排度量输出 CJK 文本
字体回退与竖排文本
可变与彩色 OpenType 字体
检查设计轴,实例化并子集化 CFF2 变体轮廓和度量,渲染受支持的彩色字形格式
可变字体与彩色 OpenType 字体
高级文本与流式布局
用语言感知断行和有界 shaping 缓存排布 Unicode 段落,再构建带样式的文档节、可复用组件、列表、图像、表格、有界页面续排和自动逻辑结构
高级文本与流式布局 · THPDFTable 表格渲染 · 布局可视化诊断 · 声明式布局 DOM · 原生矢量图表 · 自动 PDF/UA 结构
渐进式渲染与取消
把大型已加载页面按有界分块渲染,发布渐进式 JPEG scan 以更早预览,通过调用者持有的一个 token 取消长操作,并可记录或重放外部决策以复现诊断
渐进式渲染与取消 · 确定性重放
可搜索 OCR 文本层
把任意同步 OCR 引擎接到有界的高分辨率页面渲染上,校验单词几何与 Unicode,在旋转扫描件间对齐隐藏文本,并原子地发布全部选定页面
可搜索 OCR 文本层
Tesseract OCR 适配器
RapidOCR 本地模型适配器
RapidOCR 原生 DLL 适配器
已加载页面条码解码
通过应用自选的引擎解码整个已加载页面或有界的 PDF 空间区域,按 90 度旋转逐轮回退,返回经过校验的载荷、置信度、方向和页面空间边界
已加载页面条码解码
审阅优先的脱敏检测
把有界的 PII、命名实体和人脸检测为带置信度评分的页面空间发现,原子暂存注释之前要求明确的审阅者身份,烙印固化另作独立决定
审阅优先的脱敏检测
已加载页面色彩重写
把选定页面转换为 Gray、RGB 或 CMYK,普通文本和路径保持矢量,复杂的色彩管理绘制无损扁平化,每个专色版决策都显式可控
已加载页面色彩重写
结构化已加载页面导出
把同一套无障碍阅读模型导出为 HTML、XHTML、XML 或 JSON,包含标记顺序、导航、页面标签、注释、表单、表格、样式、坐标和有界的内嵌图像
结构化已加载页面导出 · 已加载页面标签文本
类型化表格提取
跨页合并表格片段,保留重复表头和合并单元格跨度,推断带置信度的类型化值,导出有界的 CSV、JSON 或类型化 XLSX 工作簿
类型化表格提取
可选文档处理器
通过内容检查识别 XPS、EPUB 和 CBZ,保留 XPS 原生路径、渐变、缓存的包 ImageBrush 填充、Path 不透明度蒙版、隔离的 Canvas 透明组和 Canvas 不透明度蒙版、可复用的 VisualBrush Form 与图案、变换后的 Canvas 裁剪、包字体、精确的 glyph ID、簇、步进、偏移、RTL 原点、Unicode 提取、带后代覆写的继承 Canvas 导航以及被裁剪的外部或包相对链接;转换共享归档与资源预算,并为输出和渲染复用同一个不可变 PDF 缓存
可选文档处理器
渲染诊断与遥测
按生效的查看器状态缓存渲染页面,报告不支持的内容,并检查墙钟时间、CPU、分配、内存、I/O、缓存活动和解码膨胀
渲染诊断与遥测
可插拔渲染后端
通过原生或自定义渲染引擎运行编译后的显示列表,能力显式声明、回退确定、并行派发有界、执行统计可观测
可插拔渲染后端
高级渲染语义
渲染隔离与 knockout 透明组、亮度软蒙版、完整的 Type 3 字形过程、reduced-DCT JPEG 目标、不可变零拷贝的解码图像句柄,以及预算感知的并行 JPEG 2000 区域
高级渲染语义 · Reduced-DCT JPEG 解码 · 并行图像解码缓存 · 崩溃隔离的 codec worker
有界 JBIG2 段图
在本机或外部解码之前,校验图像段与全局段的依赖、页面关联、字典符号数和分配预算
JBIG2 段图校验
显示列表与印前生产
通过统一的生产解释器复用按算子索引的编译页面命令,流式输出 tile 与 band,并行渲染页面,扁平化透明而不丢弃专色,检查油墨与陷印,输出分色版或专色版
显示列表与印前生产
资源与图像优化
共享重复内容,按 glyph 可达性子集化已加载字体,移除未用资源,图像优化期间保持校准色与专色语义,并在显式的大小与局部性预算下打包间接对象
资源与图像优化 · 已加载字体子集化
对象图编辑与页面组装
对带版本的对象图快照和增量更新做完整往返,修补稳定对象图,检查依赖路径与保留内存支配关系,校验线性化,请求可重复输出,组装有界源集合,编排页面范围,扁平化旋转并管理缩略图
对象图编辑与页面组装 · 带版本的 JSON 往返
写时复制(Copy-on-Write)图事务
把对象图编辑包进嵌套保存点,只为触碰过的间接根做快照,把大的流历史溢出到临时存储,并检查内存开销
写时复制对象图事务
表单、容器与集成接口
事务化编辑表单,校验附件,组织 Portfolio,通过带版本的零拷贝 C ABI 集成,用确定性探针比较命名引擎,并持续最小化畸形 PDF 语料用例
表单、容器与集成接口 · 稳定 C 回调 ABI · 差分探针 · 语料最小化
交叉引用恢复
校验空闲列表、代际切换、重复定义和被遮蔽的修订偏移,然后在有界限制内带着字节范围置信度事件搬迁或重建受损 xref 数据
交叉引用恢复
可编辑诊断文档
手工编辑确定性 QDF 诊断对象或未压缩流,然后测量流载荷、重建经典 xref 行与 trailer、拒绝不安全结构,只发布严格可重新加载的 PDF
可编辑诊断文档与修复
Linearized 输出
写出按依赖排序的 PDF,带首页与共享对象 hint 表,在字节范围传输上快速显示
Linearized 输出与 fast web view
有界流处理
通过共享预算和内存到磁盘的溢出缓冲解码严格的内建或应用自定义 push/pull filter,隔离自定义失败,经由确定性 zlib 基线和有预算的 Zopfli 块拆分选择高压缩比 Flate 输出,运行有界并行图像作业,只在输出变小时才重写
流提取、优化、预算与诊断 · 自定义流 filter 注册
无损内容编辑
把内容流的每个字节解析为紧凑词素和链接语法节点,应用互不重叠的覆盖,未触碰的范围序列化时不做归一化
保留 token 的内容流 AST · 内容算子访问器
可扩展随机访问加载
读取源文件窗口,通过不可变 span 扫描简单对象,约束恶意 token 与容器,把大型页面树保留为紧凑占位符,从互不相交的 HTTP 范围暴露 linearized 首页就绪状态,通过索引随机访问解析页面对象,并经由字节封顶的 LRU 缓存重载已解码对象流
可扩展的随机访问加载 · 基于 span 的简单对象解析 · 有界解析器预算 · 惰性页面树加载 · 已释放页面对象图 · 有界对象流缓存
统计性能回归门禁
对原生 Win32 和 Win64 的加载、保存、渲染和提取负载做基准测试,含预热、原始样本、尾延迟、RSS、进程 I/O、确定性夹具和机器可读阈值
统计性能回归测试台
缓存基础设施
使用有界加权对象缓存、流式 SHA-256 键、持久字体子集复用,以及带即时 LRU 上限执行的可恢复渲染页面缓存
缓存基础设施
签名权限
校验 RSA、RSA-PSS、NIST 与 Brainpool ECDSA、Ed25519、Ed448、需扩展开启的 ML-DSA 和 RFC 3161 签名,直接从 RSA、ECDSA、Ed25519 或 Ed448 的 PFX 身份签名,创建带独立主签名者的确定性 CMS 容器,生成并固定 PAdES E-EPES 签名策略,以条款、对象和修订证据预检累积 PAdES profile,使用 callback、CSC 远程、Windows CNG 或 PKCS#11 签名提供程序,无需不可逆估算调用即可自动定尺寸 CMS 占位符,并检查 DocMDP 与 FieldMDP 结构
现代签名提供程序与权限 · Brainpool ECDSA 签名 · PAdES 签名策略校验 · PAdES profile 预检 · CMS 多主签名者 · CSC 远程签名 · CMS 占位符自动定尺寸
ICC 色彩管理
校验并注册 ICC v2/v4 profile,通过打样和输出 profile 渲染 ICCBased 矢量与图像颜色,遵循所有 PDF rendering intent,应用黑点补偿,并通过有界并发缓存复用完整变换
RegisterICCProfile
能力地图
查看 HotPDF 在表单、批注、安全签名、符合性、图层、图形、图像、文本、大文件与流式输出方面的核心能力
HotPDF 概览
页面绘制
在当前页面上绘制文本、路径、曲线、图像、图元文件、批注和条码输出
THPDFPage class
条码 API
查看 THPDFBarcode、条码选项枚举、简单 bar 记录和 Simple* 编码函数
HPDFBarcode 单元参考
图像
查看受支持的 bitmap、TIFF、JPEG2000、JBIG2、EMF 和 WMF 工作流
受支持的图像格式
压缩
了解 FlateDecode、LZW、JBIG2、JPEG、JPEG2000 以及随附的原生压缩路径
压缩概览
Preflight 预检
生成确定性 XML MRR,用有界的 feature 与 rule 插件扩展校验,应用 profile,聚合批处理运行并查看诊断
预检插件与 XML MRR
校验策略与 WTPDF
应用可复用的接入策略,读取 WTPDF 声明,运行有界校验作业,并独立修复元数据
校验策略与 WTPDF
查看器首选项
控制初始显示、打印首选项、单页、纵向连续和双页封面跨页布局、页面模式及相关 PDF 查看器设置
ViewerPreferences 参考
Pascal 示例
打开用于文档创建、绘图、加密、字体嵌入、段落和大纲的可运行示例
示例主题