用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;
                }
            }
        }
    }
}
相关推荐
不光头强几秒前
object所有方法及知识点
java·开发语言·jvm
予枫的编程笔记1 分钟前
【面试专栏|JVM虚拟机】CMS vs 其他垃圾收集器:核心差异+适用场景
java·jvm·java面试·后端开发·垃圾回收机制·cmv垃圾回收器·jvm性能优化
渡过晚枫3 分钟前
[第十六届蓝桥杯/java/算法]1.偏蓝
java·算法·蓝桥杯
zhaoyin19944 分钟前
JavaScript面试题笔记
java·javascript·笔记
计算机学姐7 分钟前
基于SpringBoot的宠物诊所管理系统
java·vue.js·spring boot·后端·spring·elementui·宠物
2501_940315267 分钟前
【无标题】1302 层数最深叶子节点的和
java·数据结构·算法
悟能不能悟16 分钟前
idea默认的快捷键和eclipse配置快捷键对比,列出一些常用的
java·eclipse·intellij-idea
晨晖220 分钟前
java容器类的博客
java·开发语言
bug攻城狮23 分钟前
Spring Boot项目启动时输出PID、CPU和内存信息的4种方法
java·spring boot·后端·logback
MegaDataFlowers24 分钟前
Maven
java·maven