第三者插足——Lucene的新欢xpdf
来源:互联网 发布:ping域名找不到主机 编辑:程序博客网 时间:2024/04/30 13:53
有一天Lucene与PDFBox之间多了一位,这便是xpdf。PDFBox女士责骂Lucene先生说:“我的API功能如此强大,甚至能和你进行无缝结合,你为什么还要去找别的女人?”可是Lucene先生说:“你是知道的,I love China,可是你偏偏不支持中文文本的提取……”于是乎,Lucene先生就跟xpdf女士好上了。
好了,以上就是xpdf相对于PDFBox的优势了。那么Lucene仅凭借这一原因就抛弃了PDFBox了吗?不,当然不是。每一种技术在它独有的领域里面发挥着它最大的能量,PDFBox对于Lucene而言,当然还有其他可用之处的。况且每一种技术都更新的很快,现在的PDFBox想必已经更新很多次,增加了很多功能了吧。
xpdf对pdf文件的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的应用程序,这个就是xpdf将pdf转化为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了。
(代码如下)
这就是对xpdf中pdf文件的的属性的封装了,这里只列举了部分属性,还有其他属性和用法可以在xpdf的官网上学习。
最后,我们在写一个测试类进行测试,这里也可以说是客户端了。
(代码如下)
- 第三者插足——Lucene的新欢xpdf
- 如此插足的第三者, 该不该叫好?
- 嗨,Chrome和火狐,有第三者插足!
- 迭代器模式——解决问题的第三者
- lucene-处理中文PDF的xpdf
- 第三者的第三者
- 心处何方 身往何处——做时间的新欢
- 我的新欢-Flex
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- 外观模式详解(Service第三者插足,让action与dao分手)
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- (十一)外观模式详解(Service第三者插足,让action与dao分手)
- PDF转换解析工具—XPDF
- Android 构建的新欢Gradle
- 第三者
- 文件的预读
- 推荐Android开发论坛--棒槌网,国内发展最快的Android开发社区
- 平面内最近点问题C语言实现
- sicily 2013
- Google Nexus One 手机
- 第三者插足——Lucene的新欢xpdf
- oracle sqlplus 笔记
- 块设备的基础知识
- 通用块层相关数据结构
- NFC近距离无线通讯技术
- 提交I/O传输请求
- 请求队列描述符
- OLAT调试成功,纪念一下
- 块设备的初始化