.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 サイトの他の関連記事を参照してください。