C#winform读取获取PDF内容

FreeSpire和Itexsharp操作PDF获取PDF

最近遇到一个需求是通过选择的文件夹路径和输入的检索条件检索出该文件夹下文件名称和文件内容包括检索条件的所有文件并且展示到窗体上
word文档读取没有什么大问题,用NPOI就可以很容易的解决
但是PDF的读取就比较麻烦,后来查了一下,看到的有Spire和Itexsharp这两个插件可以读取,但是通过反复测试,Itexsharp无法获取PDf内容,只能创建新的pdf并写入内容,虽然Spire可以使用,但唯一的缺点就是不开源。
后来在VS插件库里面找到了FreeSpire这个免费开源的PDF操作插件,可以对PDF进行编辑,新增,删除,和读取,但是FreeSprie插件有个限制条件,操作和读取的PDF最多只能有10页,由于FreeSpire这个插件在根据文件路径定义对象时就会限制页数,但是FreeSpire没有获取PDF页数的参数,所以可以提前使用
itexsharp的
PdfReader reader = new PdfReader(pdf文件路径);
int iPageNum = reader.NumberOfPages;
这个方法获取pdf的页数
可以用来在使用FreeSpire时,提前获取操作的PDF页数,进行页数判断,避免在FreeSpire创建实例化对象时报异常


 FreeSpire读取PDF
 PDFReader reader = new PdfReader(pdf文件路径)
   int iPageNum = reader.NumberOfPages;
   if(iPageNum<=10){
	 //实例化pdfdocment对象
                            Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
                            //加载pdf文件
                            doc.LoadFromFile(文件路径);
                            //实例化一个StringBuilder 对象
                            StringBuilder content = new StringBuilder();
                            //提取PDF所有页面的文本
                            foreach (PdfPageBase page in doc.Pages)
                            {
                                content.Append(page.ExtractText());
                            }
}
else{
  continue;
}

这样就可以读取pdf中的文字内容
第一次发稿,多多支持,欢迎各位同行多多交流讨论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值