技術記事

DelphiでPDFium VCLを利用して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 プロパティだけで多くの一般的なケースに対応できます。

开始構築 テキスト抽出解決策。 PDFium VCLコンポーネント 今日から。