lucene入门-使用pdfbox解析中文PDF

很多人使用 PDFBOX无法解析中文PDF,其实是在编程时没有指定字符集导致的,指定字符集后,pdfbox是完全可以解析中文PDF的

下载JAR文件

下载pdfbox

http://incubator.apache.org/pdfbox/

下载相关的jar

http://commons.apache.org/downloads/download_logging.cgi

引入external下的所有包

笔者BLOG地址:http://blog.163.com/sukerl@126/

以下是JAVA代码,注意红色部分指定了字符集:

package extract;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;


import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.util.*;

public class ExtractorPDF {

public static String getText(String file){
String s="";
String pdffile=file;
PDDocument pdfdoc=null;
try {
pdfdoc=PDDocument.load(pdffile);
PDFTextStripper stripper=new PDFTextStripper("GBK");
s=stripper.getText(pdfdoc);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if (pdfdoc!=null){
pdfdoc.close();
}
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return s;
}
public static void toTextFile(String doc,String filename) throws Exception{
String pdffile=doc;
PDDocument pdfdoc=null;
try {
pdfdoc=PDDocument.load(pdffile);

PDFTextStripper stripper=new PDFTextStripper("GBK");
PrintWriter pw=new PrintWriter(new FileWriter(filename));
stripper.writeText(pdfdoc, pw);

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if (pdfdoc!=null){
pdfdoc.close();
}
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
String sc=getText("D:/workspace/testsearch2/htmls/xxxx.pdf");
System.out.print(sc);
toTextFile("D:/workspace/testsearch2/htmls/xxxx.pdf","D:/workspace/testsearch2/htmls/xxxx.txt");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

解析效果如下:

光盘使用指南光盘使用指南光盘使用指南光盘使用指南
北京希望电子出版社出版
********************************************************
提示
本张光盘采用了 Autorun 技术 也就是您只要把本光盘插入
到您的光驱中 就会自动启动 Acrobat Reader 并打开本书电子版
在我的电脑中 直接双击该光盘会再次启动阅读器
若自动运行未实现 请进入 \Rddirect\reader 文件夹 直接
双击 ACRORD32.EXE 启动 Acrobat Reader 再打开 \PDF 文件夹中
的 Zong.pdf 即可 若想直接双击打开 zong.pdf, 请先按下文所述
安装 Acrobat Reader 之后使用
如要查看光盘中的文件 请用鼠标右健单击光盘盘符 在出
现的快捷菜单中单击 打开 命令即可打开光盘 或在 Windows
资源管理器中单击光盘盘符 则可直接打开该光盘
********************************************************
欢迎使用北京希望电子出版社开发制作 出品的电子图书
本光盘利用美国 Adobe 公司开发的 Acrobat 4.0 中文版制作
********************************************************
电子图书具有存储容量大 占书架空间小 易于查询内容和
可加多媒体信息等特点 所以 电子图书在发达国家发展很快
且深受读者欢迎 本书从读者利益出发 将电子版与传统方式结
合起来 让读者取其所长 用得称心
********************************************************
系统需求

- i486 或基于 Pentium 处理器的个人计算机
- Microsoft Windows 95 Windows 98 或 Windows NT 4.0
带有 Service Pack 3 或更新版本
- Windows 95 和 Windows 98 要求 8 MB RAM 建议用 16 MB
- Windows NT 要求 16 MB RAM 建议用 24 MB
- 10 MB 可用硬盘空间
- 为亚洲字体准备额外的 50 MB 硬盘空间 (可选 )
- 800X600 分辨率 16 位色以上显示
- 倍速以上光驱
- 声卡 音箱 (若要观看本盘中多媒体演示 教学部分
- 鼠标

********************************************************
本光盘目录结构及操作使用
1 \H3D 文件夹为 Hope 3D 希望三维设计系统普通版 多
媒体演示教学程序 单击其中的 Hope3D.exe 文件即可运行 有关
系统需求及使用方法 请参考该文件夹下的 readme.txt 文件
2 \Ps 文件夹为大型情景化 Photoshop 教学片 照相馆的故
事 的演示动画 直接双击其中的 Psdemo.exe 文件即可运行该演
示动画 有关系统需求及如何使用 请参考该文件夹中的
Readme.txt 文件
3 \RDinstall 文件夹为 Acrobat Reader 安装程序
4 \RDdirect 文件夹为 Acrobat Reader 可直接运行版本
5 为阅读此格式的文件 请您先安装 Acrobat Reader 阅读
器 本盘提供了其两个版本的程序
在 \RDdirect\reader 目录下为可直接运行版本 直接双击
ACRORD32.EXE 即可启用
在 \RDinstall 目录下为安装版本 需双击 ACRD4CHS.EXE 进行
安装后使用
6. \PDF 文件夹中的 Zong.pdf 为本书电子版 您可用
Acrobat Reader 阅读
********************************************************
出版社联系信息
热线电话 (010)62633308 62633309 62562329 62541992
传 真 (010)62633308 62579874
技术支持 (010)82624263 62613322-315
地 址 北京海淀区海淀路 82 号 (海淀剧院北侧 )
邮政地址 北京中关村 083 信箱
邮 编 100080
网上书店 www.bhp.com.cn
E-mail lwm@hope.com.cn

 

 

PDFTextStripper

public PDFTextStripper(Stringencoding)
                throws IOException
Instantiate a new PDFTextStripper object. This object will load properties from Resources/PDFTextStripper.properties and will apply encoding-specific conversions to the output text.
Parameters:
DE>encodingDE> - The encoding that the output will be written in.
Throws:
DE> IOExceptionDE> - If there is an error reading the properties.
一.介绍(Introduction) 1.XunTa是在lucene4.3上创建的通过“知识点”来找人的搜人引擎。  输入一个关键词(或组合),XunTa返回一个排名列表,排在前面的人是与该关键词(组合)最相关的“达人”。  可访问 http://www.xunta.so立即体验. 2.什么是搜人引擎?  这里的搜人不是人肉搜索,而是用户根据自己的兴趣和爱好输入相关知识点,然后找到这个知识点上的达人。 3.XunTa上的延伸  XunTa允许对每个人名下的数量无限制的关键词单独打分,从而实现基于“评价图谱”和“知识图谱”的好友匹配与信息推荐。 二.XunTa技术特点  1.在架构上内生地支持增量式实时搜索。  2.除达人搜索外,还提供最新搜索。  3.经过长期测试,性能稳定,速度快 三.布署方法  1. 软件包解压后可看到以下文件目录结构:  xunta_v1.0   |---demo    可直接布署到Tomcat的项目war包   |---luceneIndex  索引文件夹,下面放置Lucene4.3版本的索引文件,存放了XXX条来自社交网站的“发言”数据。   |---XunTa   XunTa项目源代码,可导入Eclipse(javaEE版)并运行。   |---readme.txt  您正在看的该说明文件。  2. Tomcat下直接体验XunTa搜人引擎   a.将索引文件夹luceneIndex_new复制到D盘根目录下   b.将 XunTa.war 复制到Tomcat的webapps目录下   c.启动Tomcat,然后在浏览器地址栏输入 http://localhost:8080/XunTa 可看到XunTa主页.在搜索框中输入关键词即返回“达人”列表。   (Tomcat的安装这里不另说明。)  3. 在myEclipse下导入源代码   a.xunta文件夹下放的是项目源文件,可直接导入myEclipse生成一个名为“xunta”的项目,   b.xunta\LocalContext\so\xunta\localcontext目录下的LocalContext.java是配置项目索引文件路径的类,默认是d:\\luceneIndex\\travel.     如果索引文件夹luceneIndex_new没有复制到D盘根目录下,则要修改默认路径.   c.启动myEclipse中的Tomcat7,然后在浏览器地址栏输入 http://localhost:8080/XunTa 即可看到XunTa主页.在搜索框中输入关键词即返回“达人”列表。 四.其它  1. 用户可按Lucene4.3标准自行创建索引数据,索引文档的结构可下载lukeall工具来查看.  2. 用户也可使用与XunTa配套的社交信息实时抓取工具来生成索引数据。它通过配置模版的方法抓取网页数据,也可以通过API获得目标网站的数据。该工具整理好亦将上载到开源社区。如急需,可向我们索取。  3. 你可以通过试用下面的网站来测试部分功能。 遇到任何技术问题,或对搜索创意感兴趣,欢迎加入寻TA网官方QQ群(298342166)讨论,也可发邮件(Email:1019357922@qq.com)或致电(18521702948,13817385089)垂询. 下载并使用该开源代码,表明您同意并遵守CC-BY-SA 3.0协议和GNU自由文档许可证.您可以上述协议条款下修改和再使用。 标签:(一种用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值