首頁 >後端開發 >C++ >如何在 .NET 中使用 iTextSharp 從 PDF 中提取文字和圖像?

如何在 .NET 中使用 iTextSharp 從 PDF 中提取文字和圖像?

DDD
DDD原創
2025-01-06 07:51:41893瀏覽

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

在 .NET 中使用 iTextSharp 提取 PDF 內容

在 .NET 應用程式中,iTextSharp 提供了處理 PDF 文件的強大功能。其主要功能之一是能夠從 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 提供了處理影像渲染的回呼方法。每個影像都渲染為 Bitmap 對象,可以進一步處理或保存。

以上是如何在 .NET 中使用 iTextSharp 從 PDF 中提取文字和圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn