原始碼級原生 · 無外部 PDF 執行環境
直接以 Pascal 原始碼整合進專案,全程在你的行程內生成、解析、儲存 PDF,除錯與部署完全可控。影像/壓縮所用的 C 後端(zlib-ng、libjpeg-turbo、OpenJPEG、jbig2dec)均以靜態目的檔連結,執行期沒有額外的 PDF 引擎 DLL
入口類別 · 47 個 Pascal 原始碼單元原始碼級原生 PDF · Delphi 與 C++Builder
HotPDF 是為 Delphi 與 C++Builder 打造的原始碼級 PDF 元件庫:純原生、無外部 PDF 執行環境或 DLL,把高階排版塑形、合規簽章、標準預檢與多位元組處理能力,全部固化進你的單一可執行檔裡
下列賣點均為 HotPDF 已交付的能力,而非路線圖承諾。每一條都附帶可驗證的實作證據——具體到原始碼單元、函式名稱與跑通的測試
直接以 Pascal 原始碼整合進專案,全程在你的行程內生成、解析、儲存 PDF,除錯與部署完全可控。影像/壓縮所用的 C 後端(zlib-ng、libjpeg-turbo、OpenJPEG、jbig2dec)均以靜態目的檔連結,執行期沒有額外的 PDF 引擎 DLL
入口類別 · 47 個 Pascal 原始碼單元內建全量 GSUB(LookupType 1–8)替代引擎與全量 GPOS(全部 9 種 LookupType)定位引擎:連結字、小型大寫、上下文替換、字元配對/上下文字距、mark-to-base、mark-to-mark、cursive 聯結一應俱全。多數同類 Delphi PDF 元件在這裡是空白
20+ 個文字系統的產生器端塑形:阿拉伯文(含 Supplement / Extended-A/B)、敘利亞文、蒙古文、藏文、天城文與印度語系、爪哇文、泰文/寮文、希伯來文、高棉文、緬甸文等;搭配 UAX #9 雙向管道與完整 /ToUnicode 反向對映,複製/貼上/搜尋都能還原原始碼點
一行呼叫 THotPDF.SignPDFWithPFX 完成 PFX/PKCS#12 簽章——無需 OpenSSL、無需平台加密提供者。ASN.1、RSA、AES、PKCS#12 解包與 CMS SignedData(RFC 5652)整條鏈路都在 HotPDF 內部實作,結果可重現、可稽核
HPDFASN1 / HPDFRSA / HPDFCrypt / HPDFPFX / HPDFCMS / HPDFAES
支援 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。可輸出文字/JSON/HTML/CSV 報告,並經 veraPDF 驗證
逐方法 PDF 版本閘控:RequirePDFVersion + StrictVersionLock
檔案對檔案直接處理,無需在記憶體建構物件圖:DAOpenFileReadOnly、DACopyFile、EncryptFile、DecryptFile 等可處理傳統 xref 表、XRef stream、混合參照與增量更新檔案,吞吐量以秒計
對 TrueType、OpenType-CFF、CID 鍵值 CFF 字型做子集化(EnableFontSubsetting),並保留 Type0/Identity-H 的 glyph 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>
PDFSpecComplianceMatrix.md 記錄其支援創作面下「無未實作的 PDF 規範程式碼缺口」
合約、發票、歸檔——需要 PAdES 長期驗證、增量更新(BeginIncrementalUpdate)以保住已簽署位元組範圍,以及 PDF/A 歸檔合規
阿拉伯文、印度語系、CJK 等需要正確塑形與定位、需要正確複製貼上還原的場景——HotPDF 把「轉譯對、複製也對」一次解決
批次加密、解密、頁數盤點、抽取——Direct File API 讓多位元組檔案無需整份駐留記憶體即可處理
已用 FastReport / QuickReport / ReportBuilder / DevExpress 報表——一行配接器即可換上 HotPDF 後端,保留既有報表設計
需要單一可執行檔部署、不願帶第三方 PDF DLL、希望全鏈路除錯進自己行程的桌面與行業軟體
標記化 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