PdfPig: .NET向け高度なPDFテキスト抽出

依存関係なしでPDFコンテンツを読み取り分析 - テキスト、位置、フォント、メタデータ

PdfPigとは?

PdfPigは、ネイティブ依存関係なしでPDFファイルからコンテンツを抽出するオープンソースの.NETライブラリです。PDFジェネレーターとは異なり、PdfPigは既存のドキュメントを読み取り、テキスト、フォント情報、位置データ、ドキュメント構造にアクセスすることに特化しています。データマイニング、コンテンツ分析、ドキュメント処理パイプラインに特に有効です。

PdfPigの主な利点:

  • 依存関係なし: 純粋なC#実装
  • 低レベルアクセス: 正確なテキスト配置とフォントメトリック
  • メモリ効率: オーバーヘッドを最小限に抑えて大規模ドキュメントを処理
  • OCR対応: 分析用のバウンディングボックス付きでテキストを抽出
  • MITライセンス: 商用利用無料

ドキュメント分析、テキスト抽出、PDFコンテンツ処理に最適です。

GitHub

GitHub の統計

名前:
言語:
出演者:
フォーク:
ライセンス:
リポジトリの最終更新日時

PdfPigを選ぶ理由

  • 正確性: 複雑なPDFテキストレイアウトを正しく処理
  • パフォーマンス: 類似の.NETライブラリよりもベンチマークで高速
  • 透明性: 必要に応じて生のPDF構造にアクセス可能
  • 活発な開発: 2018年から定期的に更新
  • クロスプラットフォーム: .NET Standard 2.0+で動作

インストール

PdfPigはNuGetから簡単に統合できます:

Package Manager Console


Install-Package PdfPig

.NET CLI


dotnet add package PdfPig

システム要件: .NET Standard 2.0互換ランタイム

コード例

PdfPigの機能を実践的に示す例:

PdfPig抽出

例1: 基本的なテキスト抽出

この例では、PDFドキュメントを開き、読み取り順序を維持しながらすべてのテキストコンテンツを抽出する方法を示します。PdfPigは、ドキュメント内の各文字に正確な位置でアクセスを提供し、単純なテキスト抽出を超えた高度なレイアウト分析を可能にします。

出力内容:

  • 読み取り順序の生テキストコンテンツ
  • 各テキストセグメントのページ番号
  • 基本的なフォント情報

例2: 高度な位置分析

PdfPigは、テキスト要素の正確な位置データを提供します。この例では、バウンディングボックス付きで単語を抽出する方法を示し、表検出、フォーム処理、コンテンツ領域分析などのタスクを可能にします。

例3: フォントとメタデータ抽出

テキストコンテンツに加えて、PdfPigはドキュメントのメタデータと詳細なフォント情報へのアクセスを提供します。この例では、ドキュメントプロパティの抽出とPDF全体のフォント使用状況の分析を示します。

高度な機能

PdfPigはプロフェッショナルなPDF分析をサポート:

  • 画像抽出: 埋め込み画像へのアクセス:

    画像抽出

    
        using var document = PdfDocument.Open("file.pdf");
        foreach (var page in document.GetPages())
        {
            foreach (var image in page.GetImages())
            {
                var bytes = image.RawBytes;
                // 画像データ処理
            }
        }
        
    
  • ブックマークナビゲーション: ドキュメントアウトラインへのアクセス:

    ブックマーク

    
        var bookmarks = document.GetBookmarks();
        foreach (var bookmark in bookmarks)
        {
            Console.WriteLine($"{bookmark.Title} - ページ {bookmark.PageNumber}");
        }
        
    
  • 暗号化PDF: パスワード保護ファイルの処理:

    暗号化PDF

    
        var options = new ParsingOptions
        {
            Password = "secure123"
        };
        using var doc = PdfDocument.Open("encrypted.pdf", options);
        
    

PdfPig vs PdfSharp

PdfPigとPDFsharpの5つの主な違い:

  • 主な機能:PdfPigはテキスト、位置、メタデータの読み取り/抽出に特化。PDFsharpはPDFドキュメントの作成/編集に焦点
  • テキスト vs グラフィック:PdfPigはピクセル単位の精度でテキストを抽出(座標を含む)。PDFsharpはテキスト/図形の描画に最適化(レポート、請求書、フォーム)
  • ドキュメントアクセス:PdfPigは既存PDFを分析、PDFsharpはページ変更、コンテンツ追加、ファイル結合が可能
  • 高度な機能PdfPigはフォント詳細、バウンディングボックス、ドキュメント構造を明らかにし、PDFsharpはPDF/A標準、画像、暗号化をサポート
  • 使用例PdfPigはデータマイニング、OCR前処理、コンテンツ分析向け、PDFsharpはレポート生成、PDF操作、フォーム入力向け

まとめ

PdfPigは.NET開発者に比類のないPDFコンテンツアクセスを提供します。次の用途に最適:

  • データ抽出: レポートやドキュメントからのコンテンツマイニング
  • ドキュメント分析: PDF構造とレイアウトの理解
  • アクセシビリティ: PDFコンテンツを他の形式に変換
  • 前処理: OCRやMLのためのドキュメント準備

正確なコンテンツ抽出と低メモリ使用量に重点を置いたPdfPigは、.NETでのPDF分析における第一選択肢です。

類似製品

 日本語