技術文章

使用 PDFium VCL 在 Delphi 中從 PDF 文件中提取文本。

· PDF 程式設計

文本提取是 PDF 處理中最常見的任務之一。無論您是在構建文件搜尋引擎、資料探勘應用程式還是內容管理系統,從 PDF 檔案中提取文本的能力都是至關重要的。本教程涵蓋了 提取文本 演示,它展示瞭如何使用 PDFium VCL 從 PDF 文件中提取文本內容。

概述

提取文本演示程式演示瞭如何從 PDF 文件中提取所有文本內容並將其儲存到文本檔案中。它支援頁面範圍選擇、段落保留,並能正確處理特殊字元。

主要特性

  • 完整文件提取 – 提取所有頁面的文本
  • 頁面範圍選擇 – 僅提取特定頁面的文本
  • 段落檢測 – 保留基於字元位置的段落結構。
  • 特殊字元處理。 – 可選項:從輸出中移除 NUL 字元。
  • 頁面分隔符。 – 可選項:頁面之間新增空行。
  • 進度跟蹤 – 視覺進度條和詳細日誌記錄。
  • UTF-8 輸出。 – 針對國際文件,正確編碼的文本輸出。
  • 字元級別訪問 – 訪問單個字元以進行高階處理

PDFium DLL 的要求

在執行任何 PDFium VCL 應用程式之前,請確保已安裝 PDFium DLL 檔案:

  • pdfium32.dll / pdfium64.dll – 標準版本(約 5-6 MB)
  • pdfium32v8.dll / pdfium64v8.dll – 包含 V8 JavaScript 引擎的版本(約 23-27 MB)

安裝: 執行 PDFiumVCL\DLLs\CopyDlls.bat 以管理員身份,自動將 DLL 檔案複製到 Windows 系統目錄。

基礎文本提取

從 PDF 頁面提取文本的最簡單方法:

從所有頁面提取

迴圈遍歷所有頁面以提取完整的文件文本:

提取文本並保留段落結構。

對於段落結構非常重要的文件,請使用字元位置分析。

清理提取的文本。

移除空字元並規範化文本。

從特定區域提取文本。

從頁面上的矩形區域提取文本。

字元級別訪問

為了進行精確的文本分析,訪問單個字元:

查詢螢幕位置處的字元

對於文本選擇和互動非常有用:

處理錯誤和邊界情況

效能考量

  • 逐頁提取文本,而不是將所有內容載入到記憶體中。
  • 對於大型文件,請使用流式檔案輸出。
  • 在迴圈中使用。 Application.ProcessMessages 用於提高UI響應速度。
  • 考慮對多個文件進行批次處理。

結論。

"Extract Text" 示例展示了 PDFium VCL 如何使文本提取變得簡單可靠。 無論您需要基本的文本提取還是高階的基於段落的處理,該元件都提供所有必要的工具。

字元級別的訪問允許進行復雜的文本分析,而簡單的。 Text property 可以用一行程式碼處理大多數常見用例。

開始構建 您的文本提取解決方案。 PDFium VCL 元件 今天。