C#でPDFから埋め込まれたテキストと画像を抽出する方法

Extract Embedded Text and Images from PDFs in C

This article was translated from English: Does it need improvement?
Translated
View the article in English

簡単なメソッド呼び出しで、C#でPDF文書からテキストコンテンツと画像の両方を抽出します。 編集、分析、または他のアプリケーションでの再利用のために埋め込まれたコンテンツを取得します。

テキストと画像の抽出 PDF文書からテキストコンテンツとグラフィック要素を抽出します。 編集、検索、テキストの他形式への変換、再利用のための画像保存など、コンテンツへのアクセスと再利用。 データ分析のためにC#でPDFを解析する、コンテンツを検索可能な形式に変換する、またはアーカイブのために視覚的要素を抽出する必要があるかどうかにかかわらず、IronPDFは包括的な抽出ツールを提供します。

IronPDFを使用してテキストと画像を抽出します。 抽出した画像はディスクに保存するか、新しい文書に埋め込む前に別の形式に変換してください。 PDFからHTMLへの変換や、抽出した画像の再利用など、コンテンツの変換を必要とするワークフローをサポートします。

クイックスタート: IronPDFでテキストと画像を抽出する

わずか数行のコードでPDFからテキストと画像を抽出します。 このクイックスタートでは、コンテンツの再利用と分析のためにPDF文書から埋め込まれたコンテンツを取得する方法を示します。 IronPDFの合理化されたソリューションで、編集のためにテキストを抽出したり、さらに使用するために画像を保存したりすることができます。

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    var pdf = new IronPdf.PdfDocument("sample.pdf");  
    string text = pdf.ExtractAllText();  
    var images = pdf.ExtractAllImages();
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル

    arrow pointer


PDFからテキストを抽出するには?

新しくレンダリングされたPDF文書と既存のPDF文書の両方からテキストを抽出します。 ドキュメントから埋め込まれたテキストを抽出するには、ExtractAllText メソッドを使用します。 このメソッドは、PDF内のすべてのテキストを含む文字列を返します。 ページは、連続する4つの改行文字で区切られています。 この例では、ウィキペディアのウェブサイトからレンダリングしたサンプルPDFを使用しています。

国際言語とUTF-8文字を含むPDFを扱う場合、IronPdfは適切なエンコーディングと文字表現を維持します。 これにより、非ラテン文字や特殊文字が正しく表示されます。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text.cs
using IronPdf;
using System.IO;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text
string text = pdf.ExtractAllText();

// Export the extracted text to a text file
File.WriteAllText("extractedText.txt", text);
$vbLabelText   $csharpLabel
ウィキペディアのページと抽出されたプレーンテキストを並べて表示し、テキスト抽出プロセスを示す。

正確な座標でテキストを抽出するにはどうすればよいですか?

各 PDF ページ内のテ キ ス ト 行 と 文字の座標を取得 し ます。 PDF からページを選択し、Lines および Characters プロパティにアクセスします。 座標には、テキストの位置を表す Bottom、および Left の値が含まれます。 この機能は、空間レイアウトを保持し、テキストの位置分析を可能にします。

C#でPDFファイルを位置認識しながら読む必要がある開発者のために、座標抽出は、文書構造を維持し、高度なテキスト分析を実装するためのデータを提供します。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-by-line-character.cs
using IronPdf;
using System.IO;
using System.Linq;

// Open PDF from file
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text by lines
var lines = pdf.Pages[0].Lines;

// Extract text by characters
var characters = pdf.Pages[0].Characters;

File.WriteAllLines("lines.txt", lines.Select(l => $"at Y={l.BoundingBox.Bottom:F2}: {l.Contents}"));
$vbLabelText   $csharpLabel
ウィキペディアのメインページと抽出されたテキストファイルの分割画面。

PDFから画像を抽出するには?

ドキュメントから埋め込まれたすべての画像を抽出するには、ExtractAllImages メソッドを使用します。 このメソッドは、画像を AnyBitmap オブジェクトのリストとして返します。 同じドキュメントを使用して、画像を抽出し、"images"フォルダにエクスポートしました。 この機能は、画像のアーカイブ、コンテンツの移行、およびPDFページを画像にラスタライズしてさらに処理することをサポートします。

抽出された画像は元の品質を維持し、PNG、JPEG、BMPなどさまざまな形式で保存できます。クラウド ストレージ ワークフローでは、この機能を Azure Blob Storage for image management と統合します。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-image.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract images
var images = pdf.ExtractAllImages();

for(int i = 0; i < images.Count; i++)
{
    // Export the extracted images
    images[i].SaveAs($"images/image{i}.png");
}
$vbLabelText   $csharpLabel
画像抽出ツールを実行した後、ファイルエクスプローラに19個の抽出されたPNG画像がサムネイル表示されている。

画像抽出にはどのような方法がありますか?

ExtractAllImages メソッドの他に、ExtractAllBitmaps および ExtractAllRawImages メソッドを使用して画像情報を抽出します。 ExtractAllBitmapsAnyBitmap のリストを返しますが、ExtractAllRawImages はすべてのイメージを抽出し、それらを生のバイト配列として返します (byte[])。

ExtractAllRawImages メソッドは、メモリ内で画像データを処理する場合や、バイト配列入力を必要とするシステムと統合する場合に適しています。 PDFをメモリストリームにエクスポートするシナリオでは、生のバイト配列形式が最適な柔軟性を提供します。


特定のPDFページからコンテンツを抽出するにはどうすればよいですか?

単一または複数の指定ページからテキストと画像を抽出します。 1 つまたは複数のページからテキストを抽出するには、ExtractTextFromPage および ExtractTextFromPages メソッドを使用します。 画像の場合は、ExtractImagesFromPage および ExtractImagesFromPages メソッドを使用します。

このようなきめ細かなコントロールは、特定のセクションにのみ関連コンテンツが含まれるような大規模なドキュメントを扱う際に役立ちます。 また、PDFを分割し、個別の処理用に個々のページを抽出する機能もサポートしています。

:path=/static-assets/pdf/content-code-examples/how-to/extract-text-and-images-extract-text-single-multiple.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Extract text from page 1
string textFromPage1 = pdf.ExtractTextFromPage(0);

int[] pages = new[] { 0, 2 };

// Extract text from pages 1 & 3
string textFromPage1_3 = pdf.ExtractTextFromPages(pages);
$vbLabelText   $csharpLabel

すべてのページではなく、特定のページから抽出する必要があるのはどのような場合ですか?

以下の場合は、特定のページから抜粋してください:

  • 特定のセクションに関連データが含まれる大きなPDFの作業
  • ページを独立して処理するワークフローの実装
  • インクリメンタルなコンテンツ表示や処理を必要とするアプリケーションの構築
  • 必要なページのみを処理することで、メモリ使用量を最適化します。
  • ページ固有の検索またはインデックス機能の作成

どのようなパフォーマンスの考慮事項について知っておく必要がありますか?

PDFコンテンツを抽出する際には、以下のパフォーマンス要因を考慮してください:

  • メモリ使用量: 巨大なドキュメントからページを個別に抽出して、メモリ消費量を最小限に抑えます。
  • 処理時間:適切な場合、複数ページの抽出に並列処理を使用する。
  • ファイルサイズ:高解像度の画像を含む大きなPDFは、より多くの処理時間を必要とします。
  • ストレージ:多数の高解像度画像を抽出するために、十分なディスク容量を計画してください。
  • スレッド: IronPDFはマルチコアシステムでのパフォーマンス向上のためにマルチスレッドオペレーションをサポートします。

インメモリPDFで最適なパフォーマンスを得るには、メモリストリーム操作を使って、ディスクI/Oのオーバーヘッドを減らしてください。

よくある質問

C# で PDF 文書か ら テ キ ス ト を抽出す る 方法は?

IronPDFのExtractAllTextメソッドを使用してPDFドキュメントから埋め込まれたテキストを抽出します。このメソッドはPDF内のすべてのテキストを含む文字列を、連続する4つの改行文字でページを区切って返します。IronPDFは国際的な言語やUTF-8文字に対して適切なエンコーディングを維持します。

プログラムでPDFファイルから画像を抽出できますか?

はい、IronPDFはPDFドキュメントからグラフィカル要素を取り出すExtractAllImagesメソッドを提供します。抽出した画像はディスクに保存したり、他の形式に変換してから新しい文書に埋め込むことができます。

PDFコンテンツ抽出の主な使用例は?

IronPDFの抽出ツールは、データ分析のためのPDFの解析、検索可能なフォーマットへの変換、アーカイブのためのビジュアル要素の抽出、編集やHTMLのような他のフォーマットへの変換のためのコンテンツの再利用など、様々なワークフローをサポートします。

PDFコンテンツを抽出するには、何行のコードが必要ですか?

IronPDFを使えば、わずか数行のコードでテキストや画像を抽出することができます。PDFドキュメントを読み込み、テキスト抽出にはExtractAllText()を、画像抽出にはExtractAllImages()を呼び出すだけです。

文書全体ではなく、特定のページからコンテンツを抽出することはできますか?

はい、IronPDFはテキストや画像を抽出する特定のページを指定することができ、PDF文書からどのコンテンツを取り出すかを正確にコントロールすることができます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。