HotPDF Delphi Component Description

 

傳回頂部  下一頁

HotPDF 是適用於 Delphi 與 C++Builder 的 VCL component library,可在不需要外部 PDF DLL 的情況下產生 PDF 檔案。主要 entry point 是 THotPDF class,負責管理檔案建立、頁面存取、壓縮、metadata、安全性與 output streams

 

典型 workflows 包括繪製文字與向量圖形、嵌入 bitmap 與 metafile 內容、匯入 TIFF 與 JPEG2000 影像、附加檔案、設定 viewer preferences、以密碼與權限保護最終檔案,以及使用密碼載入 RC4-40 / RC4-128 Standard 加密 PDF,以輸出未加密的已載入檔案

 

目前重點

  • Expanded image support for TIFF, JPEG2000, JBIG2, WMF, and EMF workflows.
  • Built-in LZW support, zlib-ng based Flate compression in zlib-compatible mode, 64-bit zlib-ng runtime SIMD dispatch, and libjpeg-turbo 3.1.90 backed standard JPEG handling with NASM SIMD object acceleration.
  • Shared C runtime bridging in HPDFCLibs.pas for Win32 bcc32c/bcc32 OMF objects, Win64 COFF64 objects, and zlib-ng Win64x COFF objects, including 32-byte aligned C allocation.
  • Expanded viewer and print preferences, including document direction, print scaling, duplex mode, page boundaries, and initial zoom behavior.
  • Improved font embedding, Unicode text output, and right-to-left text rendering.
  • PDF/A Level A output enables Tagged PDF basics for archival conformance while keeping PDF/UA-1 identification as an explicit PDFUACompliance opt-in.
  • PDF/A-1、PDF/A-2、PDF/A-3、PDF/X-1a、PDF/X-3、PDF/X-4 與 PDF/UA-1 workflows 包含 profile-aware producer gates、metadata generation、適用時的 OutputIntent support,以及以 veraPDF 驗證 PDF/A-2A / PDF/A-3A 的 smoke coverage
  • Updated demo applications for ViewerPreferences and embedded-font validation.

核心能力總覽

  • AcroForm 欄位與表單動作:文字欄位、核取方塊、選項按鈕、下拉方塊、清單方塊、按鈕與簽名欄位,並支援 SubmitForm、ResetForm、JavaScript 與文件層級動作
  • 註解、連結與附件:text / link / 檔案附件註解輸出、內嵌檔名樹、URI action 與 GoTo action 連結,以及頁面層級的互動輸出
  • 安全性與簽章:Standard security handler 的密碼與權限最高支援 AES-256(含 revision 6 權限)、簽章欄位、CMS 與 PAdES/PFX 簽署,以及 PFX 憑證載入
  • 標準:profile-aware 的 PDF/A、PDF/X 與 PDF/UA 輸出,在同一套 compliance model 上提供 producer gates、metadata、OutputIntent、Tagged PDF 輔助與驗證 smoke 測試
  • Optional Content 圖層:可見性群組、顯示或隱藏匯入頁面、群組資源,以及由檢視器控制的圖層導覽
  • 圖形:tiling patterns、shadings、可重複使用的 Form XObject 資源、soft mask 與 transparency groups,以及 canvas 輔助工具
  • 影像:由 AddImage 寫入並從已載入文件解碼的 JPEG、TIFF、CCITT 傳真式雙階影像、JPEG2000 與 JBIG2Decode 影像
  • 文字:帶 ToUnicode CMap 的 Unicode Type 0 字型、CJK 字型工作流程、RTL 文字、直書文字、CFF/OpenType 子集化與 GSUB/GPOS OpenType shaping
  • 大型檔案:Direct File API、大型檔案 benchmark,以及支援物件替換、頁面重排與複製 / 合併 / 編輯工作流程的已載入文件重寫
  • 串流:OutputStream、LoadFromStream 與記憶體串流產生,適用呼叫端自有的串流與不需要暫存檔的伺服器端輸出

Standards conformance positioning

  • PDF/A support 透過 PDFACompliance 公開。HotPDF 提供 PDF/A metadata、profile restrictions、font-embedding enforcement、OutputIntent hooks 與 validation smoke coverage;應用程式仍需提供有效 ICC profiles、title/language values、fonts 與符合 profile 的內容
  • PDF/UA support 透過 PDFUACompliance 與 Tagged PDF APIs 公開。HotPDF 提供 document-level wrapper、structure-tree machinery、role mapping、marked-content helpers、ParentTree wiring,以及 alternate-text / ActualText helpers;應用程式仍負責真正的 semantic structure 與 reading order
  • PDF/A Level A 與 PDF/UA-1 是不同宣告。Level A 啟用 archival conformance 所需的 Tagged PDF foundation,而 PDF/UA-1 XMP identity 只有在明確啟用 PDFUACompliance 時才會輸出

Build and platform notes

  • Win32 builds link bcc32c-generated zlib-ng OMF objects and bcc32-generated JPEG/TIFF OMF objects stored in Lib\thirdparty\Win32.
  • Win64 builds link COFF64 objects stored in Lib\thirdparty\Win64; the zlib-ng backend currently links the bcc64x-generated COFF objects stored in Lib\thirdparty\Win64x.
  • Native object rebuild validation passes from clean outputs: 206 Win32 objects, 205 Win64x objects, and 206 MSVC Win64 objects.
  • HPDFOpenJpeg.pas unit 目前作為 interface layer 與 extension point;不應視為完整 native OpenJPEG runtime binding

Diagnostics

  • General library diagnostics are controlled by withDEBUG in HotPDF.inc, which writes HotPDF-Debug.log when enabled.
  • Page-content merge tracing 由 PAGECONTENT_DEBUG_FILE 個別控制,只有明確啟用時才會寫入 PageContent_Debug.txt

Automated validation

  • DUnitX Delphi regression suite 透過 Tests\Delphi\Run-HotPDFDelphiTests.bat 在 Win32 通過 20 個 tests,在 Win64 通過 20 個 tests
  • GoogleTest C++Builder regression suite 透過 Tests\C++Builder\Run-HotPDFCBuilderTests.bat 在 Win32 通過 17 個 tests,在 Win64x 通過 17 個 tests
  • automated coverage 會檢查產生的 metadata、Unicode 與 RTL text、annotations、attachments、standard JPEG image placement、image 與 TIFF import、zlib-ng Flate compression、barcode output、memory-stream output、page setup、encryption、hyperlinks、paragraphs、copy/merge/edit workflows、tables、charts、numeric output、metafiles 與 structured reports

HotPDF 適合報表產生、技術檔案、影像 workflows,以及其他需要直接以程式控制 PDF 輸出的應用程式