第三者插足——Lucene的新欢xpdf

来源:互联网 发布:ping域名找不到主机 编辑:程序博客网 时间:2024/04/30 13:53

        有一天LucenePDFBox之间多了一位,这便是xpdfPDFBox女士责骂Lucene先生说:“我的API功能如此强大,甚至能和你进行无缝结合,你为什么还要去找别的女人?”可是Lucene先生说:“你是知道的,I love China,可是你偏偏不支持中文文本的提取……”于是乎,Lucene先生就跟xpdf女士好上了。

 

       好了,以上就是xpdf相对于PDFBox的优势了。那么Lucene仅凭借这一原因就抛弃了PDFBox了吗?不,当然不是。每一种技术在它独有的领域里面发挥着它最大的能量,PDFBox对于Lucene而言,当然还有其他可用之处的。况且每一种技术都更新的很快,现在的PDFBox想必已经更新很多次,增加了很多功能了吧。

 

       xpdfpdf文件的txt格式转化,较PDFBox来说,简单了很多。(注意:用起来越简单的东西,对它底层所做的操作就越复杂,这些简单都是前辈们用汗水换来的)我们可以在官网上下载xpdf的所有jar包和程序。

       官网下载:http://www.foolabs.com/xpdf/download.html

       下载内容: xpdf-3.02pl4-win32(我用的是这个版本)xpsf-chinese-simplified.tar.gz

 

       下载完毕之后,我们将xpdf-3.02pl4-win32解压后发现有一个叫做pdftotext.exe的应用程序,这个就是xpdfpdf转化为txt的工具了。做一个小小的示范:将自己的pdf文件放到和pdftotext.exe文件所在的同一目录下;然后打开Windows命令行并进入到该目录下;最后只要在命令行里输入这样的一句话就大功告成了pdftotxt  test.pdf  test.txt(其中,test.pdf是要转化的pdf文件,test.txt是给转化后txt文件命名)。或者,直接将test.pdf拖入到pdftotxt.exe文件中,即可直接转化成txt文件了。

 

       通过以上的操作,我们不难发现,xpdf是简单了不少吧。但是,上一会我们也提到,要将pdf转化为txt,并不是看起来那么简单的事情,比如转化后时候保持原来文件的布局,编码方式又如何设置,时候打印提示消息,页面之间是否加入分页,如果不保持原来的布局又该怎么设置等等一系列的pdf属性,都需要我们来处理。所以,我们在此写一个类,将这些属性设置进行封装,最后让其返回一个命令行命令的字符串,直接调用Windows命令行就OK了。

 

 

(代码如下)

  

这就是对xpdfpdf文件的的属性的封装了,这里只列举了部分属性,还有其他属性和用法可以在xpdf的官网上学习。

最后,我们在写一个测试类进行测试,这里也可以说是客户端了。

(代码如下)

原创粉丝点击