原始碼級 PDFium SDK

面向 Delphi、C++Builder 和 Lazarus 的 PDFium Component

在 Delphi 和 C++Builder 應用中嵌入 PDFium VCL Component 工作流,或在 Lazarus/FPC 中嵌入 PDFium LCL Component 工作流,透過原始碼元件實現檢視、渲染、表單、列印、預檢報告和面向標準的驗證。

PDFium Component Delphi PDF viewer component

Delphi 原生 PDF 檢視與文件工作流

PDFium Component 是面向 Delphi、C++Builder 和 Lazarus 應用的原始碼級 PDFium 元件集,適合需要在原生 Windows 桌面介面內實現快速 PDF 顯示、頁面光柵化、stream 載入、文本選擇、搜尋、表單、註釋、列印、預檢 報告和文件檢查的專案。

當 PDF 體驗應當內嵌在應用中,而不是交給外部檢視器時,可以使用它。包內包含可視與非可視元件、Object Pascal 原始碼、演示工程、PDFium DLL、可選的 V8 / XFA runtime DLL、命令列 預檢 示例、迴歸測試,以及檢視器整合和底層 PDF 操作的文件。

PDFium Component 支援 Delphi XE5 到 Delphi 13.1 Florence,以及 C++Builder XE5 到 C++Builder 13.1 Florence,覆蓋 Win32 和 Win64 目標。還包含面向 LCL 工作流的 Lazarus / Free Pascal 包和演示。

主要能力

  • 檢視器 UI:TPdfView 放到窗體上即可獲得縮放、旋轉、適配模式、單頁與連續佈局、封面感知雙頁、頁面陰影、安全連結點選、使用者文本選擇、複製到剪貼簿和表單焦點工作流。
  • 縮圖導航: 在檢視器旁加入 TPdfThumbnailView,提供可滾動頁面縮圖、懸停反饋、選中高亮和點選跳轉。
  • 渲染: 將頁面和切片渲染為 bitmap,在可行時使用零複製 DIB 寫入,執行可取消的漸進渲染,在已載入 DLL 匯出相關入口時訪問底層 Skia hook,並讓大頁面保持響應。
  • Streams 與大檔案: 從磁碟、記憶體、byte array 或自定義 seekable stream 載入,通過按需 PDFium 讀取避免對大型或遠端文件進行預先記憶體複製。
  • 文本與搜尋: 提取頁面文本,向前或向後搜尋,高亮匹配,構建全頁結果列表,並檢查字元矩形、原點、角度、生成字元、字型族、字重、大小、ascent、descent 和嵌入字型狀態。
  • 表單: 處理 AcroForm 欄位、XFA 狀態檢測、可選 V8 / XFA helper 可用性、選中文本、表單 undo / redo、生成的表單外觀、欄位 flags 和 flattening。
  • 註釋與連結: 建立、刪除、統計和檢查註釋;處理頁面連結、web links、書籤目標、文件 JavaScript 動作、URI / Launch 風險面以及檢視器點選事件。
  • 文件組裝: 建立文件,新增或刪除頁面,按標籤或物理索引匯入頁面範圍,移動頁面,組合 N-up 頁面,將頁面複用為 Form XObjects,應用水印或印章,更新頁面內容並管理頁面 boxes。
  • 內容與安全檢查: 提取影像,渲染物件 bitmap,檢查物件邊界和透明度,讀取附件、後設資料、簽名、許可權、語言、頁面標籤、頁面模式、檢視器首選項、Tagged PDF 結構和檔案識別符號。
  • 預檢 報告: 生成面向標準的審計報告,包含 pass、action-required、review、priority、issue category、category-count 和 next-action 欄位;匯出 TXT / HTML / Markdown / JSON / CSV,執行批次彙總,並將報告附加到稽核副本。
  • 列印: 支援頁面範圍、份數、縮放偏好、N-up 組合、奇偶頁過濾、灰度輸出、檢視器首選項後設資料,以及用於雙面和紙張處理整合的 SetPdfPrintPaperHandlingDevMode

面向合規的 PDF 工作流

PDFium Component 為需要可預測 PDF 交付、歸檔審查、列印工作流、可訪問性檢查、工程文件、可變資料輸出或 光柵-locked 交付的團隊提供面向標準的驗證和儲存 API。

工作流PDFium Component 支援應用負責事項
PDF/AValidatePdfASaveAsPdfAPdfAConformance、OutputIntent 檢查、XMP 後設資料檢查、字型嵌入檢查、加密和 JavaScript 限制,以及按配置檔案感知的儲存 helper。選擇歸檔目標,提供正確的文件後設資料和顏色資料,並在交付前審查所有驗證問題。
PDF/XValidatePdfXSaveAsPdfXPdfXConformance、OutputIntent 處理、面向印前的限制、頁面 box 感知和列印安全配置檔案檢查。為目標 PDF/X 配置檔案提供適合生產的 output intent 資料、頁面幾何和列印設定。
PDF/UAValidatePdfUaSaveAsPdfUaPdfUaConformance、語言與 tagging 檢查、結構樹檢查、marked-content 審查和可訪問性配置檔案驗證。在源工作流中編寫有意義的閱讀順序、標題、列表、表格語義、替代文本和文件語言。
PDF/E, PDF/VT, PDF/RValidatePdfEValidatePdfVTValidatePdfR、對應的 SaveAs... API,以及面向工程、可變資料和 光柵 PDF 配置檔案的符合性屬性。將配置檔案匹配到業務工作流,並讓源內容保持在所選標準允許的功能集內。
預檢 自動化FPdf預檢Report預檢ReportCli 為 PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R 和 PDF/VT 檢查生成面向人和機器的摘要。決定 pass、action-required、review 或問題計數是否應阻斷 CI、交付或歸檔攝取。

這些 API 旨在讓標準相關工作在程式碼中可見。驗證結果、預檢 摘要和儲存 helper 可幫助應用拒絕或修正有問題的輸出,而不是靜默交付一個稍後才在歸檔、列印或可訪問性流程中失敗的檔案。內建驗證器聚焦 marker-level 和部分 file-level 檢查;需要正式 content-level 認證的團隊應將其與專用驗證引擎配合使用。

元件架構

  • TPdf: 非可視文件元件,用於載入、stream 訪問、儲存、渲染、搜尋、提取、驗證、表單訪問、頁面操作、後設資料、附件、註釋、預檢 報告和 PDF 配置檔案工作流。
  • TPdfView: 可視檢視器元件,用於顯示模式、使用者互動、連結、滾動、縮放、選擇、表單焦點、高亮、頁面導航和剪貼簿工作流。
  • TPdfThumbnailView: 可滾動縮圖側邊欄,用於頁面導航、當前頁跟蹤、懸停反饋和檢視器配套佈局。
  • 輔助單元: FPdfAsyncFPdfMatrixFPdf預檢Report 覆蓋協作式取消、仿射變換、可複用報告生成和適合自動化的輸出。

下載 PDFium Component 演示包 (25.7 MB)

2026-05-26 Version 1.39.51:PDFium Component changelog | API參考

通過 FastSpring 使用信用卡/簽帳金融卡、PayPal、AliPay 或電匯付款:
新客戶首次購買全價:

PDFium Component Single License ($499)
PDFium Component Team/SME License ($999)
PDFium Component Enterprise License ($1999)

現有客戶續費:全價的 40%,可隨時取消。開啟 PDFium Component 購買與續費頁面

包含的演示

包內包含面向 Delphi、C++Builder 和 Lazarus 的可直接執行示例,覆蓋多數團隊在生產整合前需要驗證的核心工作流。

  • PdfViewer: 完整檢視器,包含文本選擇、搜尋、書籤、頁面導航、列印、連結和顯示模式。
  • ViewerInteractionLab 和 SearchAndSelect: 顯示模式、適配模式、頁面顏色、旋轉、搜尋高亮、全頁結果列表、選中文本預覽、複製、清除和座標對映。
  • MultiPageViewer: 面向文件審閱應用的連續、雙頁、封面感知和多頁檢視器行為。
  • SplitView: 同一文件的兩個同步檢視,用於比較和審閱工作流。
  • ContentExtractionLab: 一個工作流覆蓋後設資料、文本、頁面物件、影像、附件、連結、註釋、書籤、字型和字元度量,並支援 TXT / JSON 匯出。
  • PDFtoJpg, BatchExport 和 ImageToPDF: 光柵 匯出、批次多檔案轉換、stream 載入、DPI / 質量控制、密碼輸入、進度和協作式取消。
  • MergePDF, SplitPDF, CreatePDF 和 WatermarkStamp: 文件組裝、程式化 PDF 建立、可複用 Form XObject 水印、角標印章和頁碼標籤。
  • FormFill, FontProperties 和 Attachment: 表單值編輯和 flattening、索引化字型和字元檢查,以及嵌入檔案提取或建立。
  • SecurityAudit: 只讀檢查許可權、附件、JavaScript、URI / Launch 連結、web links、簽名、XFA 狀態、runtime helper 可用性,以及 TXT / JSON 審計報告。
  • StandardsLab, 預檢Report 和 預檢ReportCli: PDF/A、PDF/UA、PDF/E、PDF/X、PDF/R 和 PDF/VT 驗證與儲存工作流,報告預覽,TXT / HTML / Markdown / JSON / CSV 匯出,批次資料夾、排序摘要、防重名報告、報告附件和麵向 CI 的 failon= 退出行為。

團隊選擇 PDFium Component 的原因

  • 原生 Delphi 整合: 真正的 VCL 元件和 Object Pascal 原始碼,而不是 ActiveX 控制元件或瀏覽器承載的檢視器。
  • PDFium 渲染質量: 使用 Chromium PDF 顯示背後的同一開源 PDF 引擎家族,同時讓整合留在 Delphi 程式碼庫內。
  • 檢視器與 API 合一: 將成熟的螢幕 PDF 檢視器與底層文件訪問、搜尋、表單、列印、驗證 API 和可指令碼化 預檢 報告結合在一個包內。
  • 無 runtime 版稅: 構建桌面應用時無需按文件或終端使用者支付 runtime 費用。
  • 現代 IDE 支援: 支援 Delphi XE5 到 Delphi 13.1 Florence、C++Builder XE5 到 C++Builder 13.1 Florence,以及 Lazarus / Free Pascal 工作流,覆蓋 Win32 和 Win64。
  • 持續維護的測試覆蓋: Delphi DUnitX、C++Builder GoogleTest 和 Lazarus FPCUnit 測試覆蓋主要文件、渲染、表單、結構、列印、縮圖和檢視器工作流。

PDFium Component 線上文件

程式碼示例

procedure TForm1.OpenPdf(const FileName: string);
begin
  Pdf.FileName := FileName;
  PdfView.Pdf := Pdf;
  PdfThumbnailView.Pdf := Pdf;
  PdfView.DisplayMode := dmSingleContinuous;
  PdfView.FitMode := pfmFitWidth;
  PdfView.AllowUserTextSelection := True;
  PdfView.Active := True;
end;

procedure TForm1.HighlightInvoiceNumber;
begin
  Pdf.PageNumber := PdfView.PageNumber;
  if Pdf.FindFirst('Invoice', []) >= 0 then
    PdfView.HighlightSearchText('Invoice', False, False);
end;

procedure TForm1.SaveArchiveCopy(const OutputFile: string);
begin
  if not Pdf.SaveAsPdfA(OutputFile, pac1b) then
    raise Exception.Create('The PDF/A archive copy could not be saved.');
end;

典型使用場景

  • 內嵌 PDF 檢視、搜尋、列印和表單工作流的文件管理系統。
  • 需要 PDF 審閱、提取、附件處理、歸檔就緒輸出檢查、批次 預檢 清單和報告附件的會計與發票應用。
  • 法律、工程、醫療和政府桌面軟體,使用者必須在不離開應用的情況下檢查、列印、驗證、報告和儲存 PDF 文件。
  • 合規與攝取工具,需要在將檔案路由到外部驗證器或歸檔系統前執行可重複的 PDF/A、PDF/X、PDF/UA、PDF/E、PDF/R 或 PDF/VT marker 檢查。
  • 需要快速 PDF 顯示、頁面 光柵ization、可複製文本和受控列印的報表檢視器與內部業務工具。


發現 Delphi PDF Component & Spreadsheet Development 的更多內容

訂閱產品更新

訂閱後可通過電子郵件接收最新文章。