尚方杵,八十年代歌手,青北外院
在.net下读取pdf文本用到的类库主要有两个:pdfbox和itextsharp。
先说pdfbox,这个类库据说功能很强大,本人在这只是简单介绍一下:
1、下载pdfbox
2、引用动态链接库
解压缩下载的pdfbox,找到其中的bin目录,需要在项目中添加引用的dll文件有:
ikvm.gnu.classpath.dll
pdfbox-0.7.3.dll
fontbox-0.1.0-dev.dll
ikvm.runtime.dll
将以上4个文件引用到项目中,在文件中需要引入以下2个命名空间:
using org.pdfbox.pdmodel;
using org.pdfbox.util;
3、api的使用方法看代码:
[csharp]
using org.pdfbox.pdmodel;
using org.pdfbox.util;
public void pdf2txt(fileinfo file,fileinfo txtfile)
{
pddocument doc = pddocument.load(file.fullname);
pdftextstripper pdfstripper = new pdftextstripper();
string text = pdfstripper.gettext(doc);
streamwriter swpdfchange = new streamwriter(txtfile.fullname, false, encoding.getencoding("gb2312"));
swpdfchange.write(text);
swpdfchange.close();
}
itextsharp,其实很多时候都是用于生成pdf,但是他读取pdf的能力也不差,使用如下:
1、下载itextsharp
2、引用动态链接库
解压缩下载的压缩包里面的itextsharp-dll-core.zip,得到itextsharp.dll,在项目中添加引用itextsharp.dll即可
在文件中需要引入以下3个命名空间:
using itextsharp;
using itextsharp.text;
using itextsharp.text.pdf;
3、api的使用方法看代码:
[csharp]
private string oncreated(string filepath)
{
try
{
string pdffilename = filepath;
pdfreader pdfreader = new pdfreader(pdffilename);
int numberofpages = pdfreader.numberofpages;
string text = string.empty;
for (int i = 1; i <= numberofpages; ++i)
{
byte[] bufferofpagecontent = pdfreader.getpagecontent(i);
text += system.text.encoding.utf8.getstring(bufferofpagecontent);
} www.2cto.com
pdfreader.close();
return text;
}
catch (exception ex)
{
streamwriter wlog = file.appendtext(system.appdomain.currentdomain.setupinformation.applicationbase+"\\mylog.log");
wlog.writeline("出错文件:" + e.fullpath + "原因:" + ex.tostring());
wlog.flush();
wlog.close();return null;
}
}
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论