Apache Tika 是一个内容分析抽取的工具集。 它使用存在解析库,从各种类型的文档自动检测、抽取元数据和结构化文本内容。 特点: 1、自动判断文件类型, 如doc(x),xls(x),ppt,pdf,jpg等 2、提供统一的解析接口 3、各种解析库插件化 1、安装 下载源代码:http://tika./download.html,目前提供0.7 版源代码下载。 以maven 项目组织的。 使用maven构建 : mvn package 构建成功后,生成相应jar包: tika-core-0.7.jar tika-parsers-0.7.jar tika-app-0.7.jar tika-bundle-0.7.jar 2、示例 新建一个sbt工程,将以上4个包放入lib目录下 scala源代码: import java.io._ import org.apache.tika.metadata.Metadata import org.apache.tika.parser.ParseContext //import org.apache.tika.parser.Parser //import org.apache.tika.parser.html.HtmlParser import org.apache.tika.parser.microsoft.OfficeParser; //import org.apache.tika.parser.pdf.PDFParser import org.apache.tika.sax.BodyContentHandler import org.xml.sax.ContentHandler object TikaDemo { val PATH = """E:\0704.docx"""; val OUTPATH = PATH+".txt"; def main(args: Array[String]) { val in = new BufferedInputStream(new FileInputStream(new File(PATH))) val parser = new OfficeParser() val out = new BufferedOutputStream(new FileOutputStream(new File(OUTPATH))) val iHandler = new BodyContentHandler(out) try{ parser.parse(in, iHandler, new Metadata(),new ParseContext()) }catch{ case e => e.printStackTrace }finally{ in.close() out.close() } } } 执行成功后, 同一目录下多了一个txt文件,文件内容就是word文档的文本内容 3、下一步 需要了解ContentHandler相关的内容,如何抽取可定制的内容 |
|