首页 >后端开发 >C++ >如何在 C# 或 VB.NET 中使用 iTextSharp 高效提取 PDF 内容?

如何在 C# 或 VB.NET 中使用 iTextSharp 高效提取 PDF 内容?

Barbara Streisand
Barbara Streisand原创
2025-01-06 07:46:40866浏览

How to Extract PDF Content Efficiently using iTextSharp in C# or VB.NET?

使用 iTextSharp 提取 PDF 内容

问题:

如何使用 iTextSharp 有效检索 PDF 文档的内容VB.NET 或C#?

答案:

iTextSharp 提供了一种通过其 PdfReader 类读取 PDF 内容的可靠机制。下面是从 PDF 文档中提取文本和图像的全面 C# 解决方案:

using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System;
using System.IO;
using System.Text;

namespace PdfContentReader
{
    public static class Program
    {
        public static string ReadPdfFile(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);

                    currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText)));
                    text.Append(currentText);
                }
                pdfReader.Close();
            }
            return text.ToString();
        }

        public static void Main(string[] args)
        {
            string fileName = @"path\to\file.pdf";
            string extractedText = ReadPdfFile(fileName);

            Console.WriteLine(extractedText);
        }
    }
}

在此实现中:

  • ReadPdfFile 方法将文件名作为参数并提取PDF 文档每一页的文本内容。
  • 我们使用 SimpleTextExtractionStrategy 从 PDF 中提取纯文本
  • 我们通过将提取的文本转换为 UTF-8 编码来处理潜在的编码问题。

此解决方案有效地从 PDF 文档中提取文本内容,同时处理纯文本和有效嵌入图像。

以上是如何在 C# 或 VB.NET 中使用 iTextSharp 高效提取 PDF 内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn