.NET で iTextSharp を使用して PDF からテキストと画像を抽出する方法
Jan 06, 2025 am 07:51 AM.NET で iTextSharp を使用して PDF コンテンツを抽出する
.NET アプリケーションでは、iTextSharp は PDF ドキュメントを処理するための堅牢な機能を提供します。その主な機能の 1 つは、PDF からテキストと画像の両方を含むコンテンツを抽出する機能です。
PDF からプレーン テキストを読み取る
PDF からプレーン テキストを読み取るにはiTextSharp を使用すると、次のコードを利用できます:
using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using System.IO; public string ReadPdfText(string fileName) { StringBuilder text = new StringBuilder(); if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy); text.Append(currentText); } pdfReader.Close(); } return text.ToString(); }
この例では、ReadPdfText メソッドはPDF ファイルの内容を取得し、テキストを StringBuilder オブジェクトに蓄積します。 SimpleTextExtractionStrategy は、PDF の各ページからテキストを抽出するために使用されます。
PDF 内の画像の処理
上記のコードはテキストの抽出に焦点を当てていますが、iTextSharp を使用すると、以下のことも可能になります。 PDF から画像を抽出します。次のアプローチを使用できます。
using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using System; using System.Drawing; using System.IO; public void ReadPdfImages(string fileName) { if (File.Exists(fileName)) { PdfReader pdfReader = new PdfReader(fileName); for (int page = 1; page <= pdfReader.NumberOfPages; page++) { PdfReaderContentParser parser = new PdfReaderContentParser(pdfReader); string content = parser.ProcessContent(page, new ImageRenderListener()); } } }
このコードでは、PdfReaderContentParser を使用して各ページのコンテンツを解析します。 ImageRenderListener は、画像のレンダリングを処理するコールバック メソッドを提供します。各画像はビットマップ オブジェクトとしてレンダリングされ、さらに処理したり保存したりできます。
以上が.NET で iTextSharp を使用して PDF からテキストと画像を抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C言語関数によって返される値の種類は何ですか?返品値を決定するものは何ですか?

STL(ソート、検索、変換など)のアルゴリズムを効率的に使用するにはどうすればよいですか?
