用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;
                }
            }
        }
    }
}
相关推荐
我命由我123455 分钟前
Android Compose 开发,使用 ConstraintLayout,但是引入的是旧的 ConstraintLayout
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
钱栈up10 分钟前
mvn compile卡住半小时:定位并修复隐藏的类型不匹配编译错误
java·后端·maven
Zane199413 分钟前
Lambda表达式没有类型,为什么还能被当成参数传来传去
java·后端
重生之小比特17 分钟前
【Java SE】运算符
java·开发语言
fujisheng66117 分钟前
FUI 绑定生命周期实战:可靠解绑、失败回滚与列表项换绑
c#·unity3d
hai_android32 分钟前
Android WorkManager 笔记
android·java
tryxr40 分钟前
Chat2Excel 项目用户服务开发
java·数据库·java项目·用户服务开发
CodeStats42 分钟前
【Java数据类型】Java底层数据类型原理(下):时间API、JSON与String存储演进
java·开发语言·数据类型·string·byte
Co_Hui43 分钟前
Java Synchronized 关键字
java
lhldsg1 小时前
折扣卡CPS小程序定制全流程实战指南:从需求分析到上线部署
java·前端·小程序