用C#写一个读取pdf文档内容的库

安装这两个库,第二个库一定要安装否则有些pdf文件读取会出现异常

读取

csharp 复制代码
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf.Canvas.Parser.Listener;

namespace TestReadPdf
{
    public static class PdfHelper
    {
        public static IEnumerable<string> ExtractText(string filename)
        {
            using (var r = new PdfReader(filename))
            using (var doc = new PdfDocument(r))
            {
                for (int i = 1; i < doc.GetNumberOfPages(); i++)
                {
                    ITextExtractionStrategy strategy = new LocationTextExtractionStrategy();
                    string text = PdfTextExtractor.GetTextFromPage(doc.GetPage(i), strategy);
                    yield return text;
                }
            }
        }
    }
}
相关推荐
bupt_0119 分钟前
Hermes深入理解及源码解析(二):Hermes的记忆机制
java·服务器·前端
Ting-yu33 分钟前
Spring AI Alibaba零基础速成(1) ---- 项目创建与配置
java·人工智能·spring
喜欢coding的谢同学35 分钟前
ArthasClaw:用自然语言诊断 JVM 的 AI 助手,告别繁琐的 Arthas 命令
java·人工智能·arthas
架构源启1 小时前
Spring AI完整学习路线:从Java开发到AI Agent的进阶之路(附15篇实战教程)
java·人工智能·spring
SPC的存折1 小时前
20、K8S-Pod驱逐
java·docker·kubernetes
JAVA学习通1 小时前
安脉盛 软件后端开发实习面经
java·开发语言
Halo_tjn1 小时前
Java IO流文件操作
java·开发语言
吴可可1231 小时前
点在线上判定与多段线分割
算法·c#
折哥的程序人生 · 物流技术专研1 小时前
《Java 100 天进阶之路》第23篇:缓冲区数据结构 ByteBuffer
java·开发语言·数据结构·后端·面试·求职招聘
REDcker1 小时前
C++循环与编译器优化详解 别名不变量向量化与GCC Clang验证及perf实践
java·jvm·c++·c·clang·gcc