用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;
                }
            }
        }
    }
}
相关推荐
Java天梯之路几秒前
09 Java 异常处理
java·后端
玖剹几秒前
多线程编程:从日志到单例模式全解析
java·linux·c语言·c++·ubuntu·单例模式·策略模式
一 乐2 分钟前
社区养老保障|智慧养老|基于springboot+小程序社区养老保障系统设计与实现(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序
随机昵称_12345612 分钟前
Linux如何从docker hub下载arm镜像
java·linux·arm开发·docker
毕设源码-邱学长38 分钟前
【开题答辩全过程】以 基于JavaWeb医院住院信息管理系统的设计与实现为例,包含答辩的问题和答案
java·eclipse
q***471839 分钟前
解决 Tomcat 跨域问题 - Tomcat 配置静态文件和 Java Web 服务(Spring MVC Springboot)同时允许跨域
java·前端·spring
青云交39 分钟前
Java 大视界 -- Java 大数据机器学习模型在自然语言生成中的可控性研究与应用实战
java·机器学习·强化学习·模型融合·java 大数据·可控性·自然语言生成
小光学长42 分钟前
基于Web的课前问题导入系统pn8lj4ii(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·前端·数据库
小何开发1 小时前
Springboot-WebService 服务端发布与客户端调用
java·spring boot·后端
今天的砖很烫1 小时前
ThreadLocal 结构设计的精妙之处
java·开发语言