首页 >后端开发 >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