|
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.
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 輸出的應用程式
|