PDFium Delphi Component 文件

PAdES 簽章 · PDF 2.0 加密 · 六項 ISO 標準 · Delphi / C++Builder / Lazarus

轉譯引擎做不到的一切,以 Object Pascal 寫成

引擎會繪製頁面並讀取結構,但它無法簽署文件、寫入加密、驗證 PDF 標準,也無法產生線性化或增量修訂。PDFium Delphi Component 在 PDFium 之上實作了這一切:超過 62,000 行、遍布 36 個在引擎 API 中沒有對應物的單元,再加上檢視器與無障礙閱讀器架構 — 而且每一行都以原始碼交付

閱讀完整概述 瀏覽功能目錄

引擎之外您還能得到什麼

下列每一點都是已交付且可在 API 參考與示範中驗證的能力

數位簽章,而不只是讀取簽章

引擎只能回報簽章字典存在。這個程式庫能建立它:依 ETSI EN 319 142-1 的 PAdES 基線 B-B、B-T、B-LT 與 B-LTA、符合 RFC 5652 的 CMS / CAdES SignedData、RFC 3161 時間戳記請求、Document Security Store 注入、封存時間戳記,以及憑證鏈信任驗證。遠端與 HSM 簽署將操作拆分,讓私鑰永遠不必到達工作站

SignPades / ValidatePadesTrust / PreparePadesRemoteSignature

能寫入的加密,而不只是開啟

ISO 32000-2 AES-256(採用演算法 2.B 的 R6 金鑰衍生)、完整的串流與字串加密掃描、ISO/TS 32003 AES-GCM 與 ISO/TS 32004 PDF MAC 權杖。AES、SHA-2、SHA-3、HMAC 與 ASN.1 基本操作全為純 Object Pascal,並以公開的 FIPS 測試向量驗證 — 沒有任何外部 C 程式庫進入您的部署或安全審查

SaveAsEncrypted;FPdfAes / FPdfSha512 / FPdfAsn1

引擎沒有的 PDF 寫入器

引擎只提供一次循序的全檔儲存。這個程式庫在其上寫入自己的修訂:帶 Annex F 提示表的線性化 Fast Web View、object-stream 與 xref-stream 打包,以及逐位元組保留前一版輸出的髒物件增量修訂。損壞的檔案有嚴格、相容與復原三種載入原則,附帶結構化診斷而非默默修復

SaveAsLinearized / SaveAsObjectStream / BeginIncrementalSave / SaveAsRepaired

超越純文字的內容擷取

GetStructuredText 從字元幾何與 Tagged PDF 語意建立頁面 / 區塊 / 行 / 樣式化範圍階層。ExtractTables 偵測有框線與靠空白對齊的表格、保留合併儲存格並輸出 CSV 或 JSON。BuildReflowDocument 將固定版面的 PDF 轉成語意 HTML。XFDF 與 FDF 交換表單資料與 18 種註解子類型 — 這些格式引擎完全沒有提供 API

ExtractTables / BuildReflowDocument / ExportXFDF

同類中涵蓋最廣的 IDE

Delphi / C++Builder(RAD Studio XE5 至 13.1 Florence)加上 Lazarus / Free Pascal 3.8+,支援 Win32 與 Win64。三個 IDE 家族共用相同的測試 PDF 與迴歸測試套件

1257 個 Pascal + 515 個 C++ 測試案例,位元組對齊

完整的 PDF 標準光譜

PDF/A-1b 輸出(SaveAsPdfA)+ 驗證(ValidatePdfA),加上 PDF/UA、PDF/E、PDF/X、PDF/R 與 PDF/VT 的驗證及版本相容性管制 — 對 Pascal 包裝器而言極為罕見

專用單元 FPdfPdfa/Pdfua/Pdfe/Pdfx/Pdfr/Pdfvt.pas

無障礙朗讀 / 低視能

TPdfReadingSession 會為主機端 TTS 引擎編排朗讀(句子層級的朗讀單位、文字層級的高亮度顯示、朗讀文字對應);加上 InvertPdfBitmap、GrayscalePdfBitmap、DuotonePdfBitmap 低視能轉換與即時夜間雙色調檢視

多數包裝器完全缺乏的無障礙層

零複製 + 可取消的漸進式轉譯

轉譯路徑會將 PDFium 輸出直接寫入目的 TBitmap 的 DIB 緩衝區,跳過每個畫面的完整頁面像素複製;RenderPageProgressive 會在反覆運算之間輪詢取消權杖,並可在轉譯期間中斷

在高 DPI 下,每個畫面可省下一次 width×height×4 位元組的複製

適用於多 GB PDF 的隨選串流

透過 LoadCustomDocument 的隨選 TStream 介面卡,PDFium 會以區塊為單位讀取 — 多 GB、遠端或資料庫支援的文件載入時無須記憶體內複製,且幾乎可立即達到可用的首次檢視

2.x GB 文件:近乎即時的首次檢視

三個元件 + 33 個共用示範

TPdf(文件引擎)、TPdfView(互動式檢視器)、TPdfThumbnailView(縮圖導覽);33 個跨三個 IDE 共用的 COMMON 示範,涵蓋檢視、搜尋、表單填寫、合併 / 分割、批次匯出、列印、安全性稽核、預飛報告等

PDFViewer / PreflightReport / SecurityAudit / StandardsLab 等

安全性優先的預設值

連結動作允許清單(LinkOptions)、預設停用啟動動作,以及可用於稽核風險面的 SecurityAudit 示範 — 開箱即安全,而非預設開啟危險動作

適用於對安全性敏感的金融 / 醫療部署

附原始碼 · 免權利金 · 長期支援

隨附 Pascal 原始碼、無執行階段權利金、長期維護。內附 Win32/Win64 的 pdfium.dll 與 pdfium.v8.dll(啟用 V8/XFA),並提供選用的 Skia 轉譯攔截

無每次部署費用

具體佐證

3IDE 家族:Delphi / C++Builder / Lazarus
6+PDF 標準:A / UA / E / X / R / VT
28跨三個 IDE 共用的 COMMON 示範
270+Pas + C++ 迴歸測試案例

誰適合選擇 PDFium Delphi Component

文件檢視器 / 閱讀器

需要 Chrome 等級轉譯品質與互動的內嵌 PDF 檢視器(文字選取、搜尋高亮度、連結、縮放、連續雙頁)

無障礙 / 輔助科技

為視障使用者提供朗讀編排與低視能轉換 — 多數 PDF 包裝器完全沒有的一層

相容性 / 預飛工具鏈

需要 PDF/A 產生與驗證、PDF/UA 無障礙、版本管制,以及 CI 友善的預飛報告

龐大 / 遠端文件

必須隨選載入而非完全保存在記憶體中的多 GB 或資料庫支援 PDF

跨 IDE 團隊

同時使用 Delphi、C++Builder 與 Lazarus 的團隊 — 一組元件、相同的測試裝置、相同的示範

對安全性敏感的部署

對連結 / 啟動動作有嚴格控管的金融、醫療與政府情境

以幾行程式碼轉譯頁面

無須手寫 C 互通 — 直接使用原生的 Pascal 元件:

uses PDFium;

var Pdf: TPdf;
    Bmp: TBitmap;
begin
  Pdf := TPdf.Create(nil);
  try
    Pdf.LoadFromFile('report.pdf');
    Bmp := TBitmap.Create;
    try
      Pdf.RenderPage(0, Bmp, 150 { DPI });
      Bmp.SaveToFile('page0.png');
    finally
      Bmp.Free;
    end;
  finally
    Pdf.Free;
  end;
end;

後續步驟

請從產品概述與快速開始開始、瀏覽完整功能目錄與範例,或閱讀發布說明以了解最新的交付內容