ホームページ >バックエンド開発 >C++ >.NET で iTextSharp を使用して PDF からテキストと画像を抽出する方法

.NET で iTextSharp を使用して PDF からテキストと画像を抽出する方法

DDD
DDDオリジナル
2025-01-06 07:51:41891ブラウズ

How to Extract Text and Images from PDFs using iTextSharp in .NET?

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。