今天说说java中的pdf读取,实话说,这是一个很恼人的任务。现在网络上的pdf各种各样,分析出来的文本也是千差万别,目前最流行的jar包pdfbox也只能做到把文字分析出来,并无法很好的控制分析的顺序,格式,字体等信息。(也许可以,是我对pdfbox了解还不够,如果是这样的话,大家一定要告诉我~先谢过了哈。)这给后续的工作带来了很大的麻烦。比如我想提取pdf的一些关键词或标题等有用信息,而分析出来的文本大多没有规律可言,甚至不同pdf分析的顺序也不一样,有些分析出来第一行是标题,有些标题要到第十行甚至更靠后,总体说来这个任务远远没有达到我之前的预期。这里介绍一下,一个为了和大家交流一下,更重要的目的在于向各位高手们学习,看看大家是否有更好的办法来处理pdf的信息,而不光单单是读取pdf的字符串。
pdfbox的下载和配置我就不多说了,就跟加别的jar包没有区别。
下面直接上代码。
代码很简单,但是分析出来的内容也让人很抓狂,刚才说过了,什么格式的都有,甚至有些英文pdf分析出来词与词之间没有空格……有些又每个字母之间有空格,这到底是为什么呢?请教各位。
public void get(string pdfpath) throws exception {
inputstream input = null;
file pdffile = new file( pdfpath );
pddocument document = null;
try
{
input = new fileinputstream( pdffile );
//加载 pdf 文档
pdfparser parser = new pdfparser(input);
parser.parse();
document = parser.getpddocument();
//获取内容信息
pdftextstripper pts = new pdftextstripper();
string content = "";
try
{
content = pts.gettext( document );
}
catch(exception e)
{
throw e;
}
system.out.println(content);
}
catch(exception e)
{
throw e;
}
finally
{
if( null != input )
input.close();
if( null != document )
document.close();
}
}
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/