在 .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中文网其他相关文章!