java读取pdf文件内容

系统 1973 0

java读取pdf文件内容

在java中要读取pdf文件内容,我们可以借助第三方软件实现。常用的是xpdf,本文就简单介绍在linux下如何安装xpdf,及在java中如何利用xpdf读取pdf文件内容。
一.安装xpdf
在fc系列下,不用安装,可以直接yum,但是笔者建议还是下载安装的好,因为笔者曾经碰到过这样的问题,客户服务器上的xpdf是yum安装的,有一些特殊的pdf文件就无法预览,但是将yum安装的xpdf卸载,然后下载xpdf安装程序,再重新安装后,就可以了。
1.下载
ok,我们需要下载的xpdf安装包主要有三个:
2.安装部署
(1)进入下载目录,将主程序解压至/usr,也可以是其他地方,根据个人情况而定。
# tarzvfxxpdf- 3 . 01pl2-linux . tar . gz-C / usr
# cd usr
然后将其重命名,这样看起来简单点
mvxpdf- 3 . 01pl2-linux / xpdf
(2)建立中文支持。回到下载目录,依次执行:
# tarzvfxxpdf-chinese-simplified . tar . gz-C / usr / xpdf
# mv / usr / xpdf / xpdf-chinese-simplified / usr / xpdf / chinese-simplified
# tarzvfxxpdf-chinese-traditional . tar . gz-C / usr / xpdf
# mv / usr / xpdf / xpdf-chinese-traditional / usr / xpdf / chinese-traditional
(3)配置环境
# vi / etc / bashrc
增加如下内容
export PATH=/usr/xpdf/:$PATH
确保重启机器后,在控制台输入xpdf不会提示找不到命令或文件即可。
(4)资源配置
# cd / usr / xpdf
# cpsample-xpdfrcxpdfrc
# vixpdfrc
*在文件开始处增加如下内容(将/usr/xpdf替换为xpdf的实际路径)*
# -----beginChineseSimplifiedsupportpackage ( 2004 -jul- 27 )
cidToUnicodeAdobe-GB1
" /usr/xpdf/chinese-simplified/Adobe-GB1.cidToUnicode "
unicodeMapISO-
2022 -CN " /usr/xpdf/chinese-simplified/ISO-2022-CN.unicodeMap "
unicodeMapEUC-CN
" /usr/xpdf/chinese-simplified/EUC-CN.unicodeMap "
unicodeMapGBK
" /usr/xpdf/chinese-simplified/GBK.unicodeMap "
cMapDirAdobe-GB1
" /usr/xpdf/chinese-simplified/CMap "
toUnicodeDir
" /usr/xpdf/chinese-simplified/CMap "
# displayCIDFontTTAdobe-GB1 / usr /..../ gkai00mp . ttf
# ----- end ChineseSimplifiedsupportpackage
# -----beginChineseTraditionalsupportpackage ( 2004 -jul- 27 )
cidToUnicodeAdobe-CNS1
" /usr/xpdf/chinese-traditional/Adobe-CNS1.cidToUnicode "
unicodeMapBig5
" /usr/xpdf/chinese-traditional/Big5.unicodeMap "
unicodeMapBig5ascii
" /usr/xpdf/chinese-traditional/Big5ascii.unicodeMap "
cMapDirAdobe-CNS1
" /usr/xpdf/chinese-traditional/CMap "
toUnicodeDir
" /usr/xpdf/chinese-traditional/CMap "
# displayCIDFontTTAdobe-CNS1 / usr /..../ bkai00mp . ttf
# ----- end ChineseTraditionalsupportpackage
然后再执行:
# cpxpdfrc / usr / local / etc /
好了,到这里我们也就安装完成了。下面介绍如何利用xpdf读取pdf文件的内容
二.利用xpdf读取pdf文件的内容
方法很简单,利用著名的Runtime.getRuntime()即可,如下:
/***/ /**
*
@param filePathpdf文件路径
*
@return
*/

public StringgetPdfContent(StringfilePath) ... {
Stringexcute
= " pdftotext " ;

String[]cmd
= new String[] ... {excute, " -enc " , " UTF-8 " , " -q " ,filePath, " - " } ;
Processp
= null ;
try ... {
p
= Runtime.getRuntime().exec(cmd);
}
catch (IOExceptione) ... {
e.printStackTrace();
}


BufferedInputStreambis
= new BufferedInputStream(p.getInputStream());

InputStreamReaderreader
= null ;

try ... {
reader
= new InputStreamReader(bis, " UTF-8 " );
}
catch (UnsupportedEncodingExceptione1) ... {
e1.printStackTrace();
}


StringBuffersb
= new StringBuffer();

try ... {
BufferedReaderbr
= new BufferedReader(reader);
Stringline
= br.readLine();
sb
= new StringBuffer();
while (line != null ) ... {
sb.append(line);
sb.append(
" " );
line
= br.readLine();
}

}
catch (Exceptione) ... {
e.printStackTrace();
}


return sb.toString();
}

java读取pdf文件内容


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论