好记性不如烂博客--使用xpdf操作pdf文件

上次写了使用pdfbox解析pdf的时候遇到一些无法解决的问题,于是改用xpdf。使用xpdf之后腰不酸了,背不痛了,走路有劲儿了。。。
但是!!!当我把代码放到服务器上时,解析后,控制台出现一堆乱码啊乱码。然后我各种查资料,设置代码的properties啊,设置run configuration啊,焦头烂额忙了好几天完全没结果,乱码还是乱码,只是一会儿是“***@@@@”这样的,一会儿是“铌吥嬞硪の懮搡”这样的。
然后,在翻看别人的博客的时候,突然想起来,我根本木有修改配置文件!!!我不是脑残,我是木有记性。。。
所以,决定还是乖乖地复习、记录一下xpdf的使用。


****************************************************以下才是正文****************************************************
1.下载
需要下载xpdf 工具包,还需要一个xpdf-chinese-simplified.tar.gz来支持中文。

2.解压
解压xpdf工具包,然后将xpdf-chinese-simplified.tar.gz解压到xpdf文件夹内。这里我直接将xpdf解压到e盘。

3.配置
找到xpdf文件夹内的“sample-xpdfrc ”文件,打开,在其最后加入如下内容:
#----- begin Chinese Simplified support package (2004-jul-27)

cidToUnicode Adobe-GB1 e:/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode

unicodeMap ISO-2022-CN e:/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap

unicodeMap EUC-CN e:/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap

unicodeMap GBK e:/xpdf/xpdf-chinese-simplified/GBK.unicodeMap

cMapDir Adobe-GB1 e:/xpdf/xpdf-chinese-simplified/CMap

toUnicodeDir e:/xpdf/chinese-simplified/CMap

#displayCIDFontTT Adobe-GB1 /usr/..../gkai00mp.ttf

#----- end Chinese Simplified support package

其中路径部分根据具体情况修改。
修改好之后将文件重命名为xpdfrc。

4.在代码中使用:

运行pdftotext:
//使用的转换器的位置、名称
String PATH_TO_XPDF="e:\\search\\xpdf\\pdftotext.exe";
//使用原有的layout,设置编码格式encoding为UTF-8,-q不打印错误和消息,file为文件名称,最后的参数
//是输出到txt文件的名称,此处没有
String[] cmd = new String[] { PATH_TO_XPDF,"-layout", "-enc", "UTF-8", "-q",
file, "-"};
Process p = Runtime.getRuntime().exec(cmd);
获取内容,可以使用:
BufferedInputStream bis = new BufferedInputStream(p.getInputStream());



你可能感兴趣的:(String,properties,cmd,Path,工具,encoding)