当前位置: 移动技术网 > IT编程>开发语言>.net > .NET下读取PDF文本总结

.NET下读取PDF文本总结

2018年12月06日  | 移动技术网IT编程  | 我要评论

尚方杵,八十年代歌手,青北外院

在.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;  

    }  

  

}  

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网