用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;
                }
            }
        }
    }
}
相关推荐
吴声子夜歌6 分钟前
Java——Integer与二进制算法
java·算法
风味蘑菇干11 分钟前
继承 + static + final 综合应用
java·开发语言
li星野22 分钟前
二分查找六题通关:从标准模板到旋转数组(Python + C++)
java·c++·python
扬帆破浪30 分钟前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:本地离线知识库的第一份 PDF 引用气泡是怎么连回原文的
人工智能·pdf
无所事事O_o32 分钟前
IntelliJ IDEA 无法识别 Maven SNAPSHOT 依赖,但 Maven 编译正常
java
yaoxin5211231 小时前
403. Java 文件操作基础 - 写入二进制文件
java·开发语言·python
未若君雅裁1 小时前
Redis Key 过期后会立刻删除吗?过期删除与内存淘汰策略详解
java·redis
livemetee1 小时前
Java自定义线程池核心参数解析
java
Java面试题总结1 小时前
spring重点详解
java·后端·spring
AKA__Zas1 小时前
初识多线程(2.0)
java·开发语言·学习方法