射阳县住房和城乡建设局网站,标志设计公司有哪些,网站这么做404页面,用fw做明星的网站今天在Nutch源码中准备增加一个PDF处理方面的功能#xff0c;其中要做的一步是提取出PDF文档中的文本信息。考虑了一下#xff0c;还是准备使用PDFBox。看了一下#xff0c;Nutch源码中的parse-tika插件下有一个PDFBox#xff0c;不过是1.1.0版本#xff0c;很多PDF文档都…今天在Nutch源码中准备增加一个PDF处理方面的功能其中要做的一步是提取出PDF文档中的文本信息。考虑了一下还是准备使用PDFBox。看了一下Nutch源码中的parse-tika插件下有一个PDFBox不过是1.1.0版本很多PDF文档都处理不了。现在官网上最新的版本已经是1.6.0了于是准备替换一下。由于自己不喜欢看英文说明在弄的时候倒是费了一番周折。 我一开始只下载了pdfbox-1.6.0.jar替换了老版本的jar包程序报错。无奈之下仔细看了一下官方文档。PDFBox的官网http://pdfbox.apache.org/上的depandencies一栏中明确指出了使用PDFBox所需的组件及其关联。PDFBox共有三个主要组件除了上面的pdfbox-1.6.0.jar还有fontbox-1.6.0.jar与jempbox-1.6.0.jar此外还需要一个日志处理的commons-logging组件。对于日志组件Nutch中本来就有是commons-logging-1.0.4.jar和 commons-logging-api-1.0.4.jar如果你在自己的应用程序中使用PDFBox就需要上面这五个jar包日志组件是两个jar包。 当然官网上为了方便用户使用还提供了一个集成的jar包pdfbox-app-1.6.0.jar如果使用该jar包就不再需要其他的了。 使用PDFBox处理PDF文档 http://www.linuxidc.com/Linux/2014-06/103584.htm OK一切就绪后就开始提取文本信息。提取文本信息的代码比较简单网上也有许多。示例如下 PDDocument doc PDDocument.load(D:/331.pdf); PDFTextStripper stripper new PDFTextStripper(); String text stripper.getText(doc); String title stripper.getTitle(doc); 这是从本地读取pdf文件如果是从网络上你首先会得到文件的一个InputStream对象假设名为stream代码如下 PDDocument doc new PDDocument(); PDFParser parser new PDFParser(stream); parser.parse(); doc parser.getPDDocument(); PDFTextStripper stripper new PDFTextStripper(); String text stripper.getText(doc); String title stripper.getTitle(doc); 但要说明; (1) PDFBox对某些格式的pdf文件是提取不出来的但大部分都可以。 (2) PDFTextStripper尝试提取出更多的信息比如标题摘要等但不要过多指望该类只有那些规范的PDF文档论文那种才可以提取出来。其余的要么是null要么是错误的。 PDFBox还有很多其他的功能比如试着解码等如果需要就去研究API吧…… PDFBox 的详细介绍请点这里PDFBox 的下载地址请点这里 本文永久更新链接地址http://www.linuxidc.com/Linux/2014-06/103585.htm转载于:https://www.cnblogs.com/Yiutto/articles/4716094.html