用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;
                }
            }
        }
    }
}
相关推荐
唐青枫16 小时前
C#.NET Monitor 与 Mutex 深入解析:进程内同步、跨进程互斥与使用边界
c#·.net
一定要AK16 小时前
JVM 全体系深度解析笔记
java·jvm·笔记
coder阿龙16 小时前
基于SpringAI+Qdrant+Ollama本地模型和向量数据库开发问答和RAG检索
java·数据库·spring boot·ai·数据库开发
Gofarlic_OMS16 小时前
HyperWorks用户仿真行为分析与许可证资源分点配置
java·大数据·运维·服务器·人工智能
徒 花17 小时前
Python知识学习08
java·python·算法
Lyyaoo.17 小时前
【JAVA基础面经】== 和 equals() 的区别
java·开发语言·jvm
lifallen17 小时前
Flink Agent:RunnerContext 注入与装配演进分析
java·大数据·人工智能·语言模型·flink
爱丽_17 小时前
Tomcat 从 Socket 到 Servlet:机制主线、参数调优与线上排障(实战)
java·servlet·tomcat
小江的记录本17 小时前
【JEECG Boot】 JEECG Boot——数据字典管理 系统性知识体系全解析
java·前端·spring boot·后端·spring·spring cloud·mybatis
卖男孩的小火柴.17 小时前
java内置方法总结及基础算法
java·算法