如何在Groovy下导出PDF的文本内容

来源:互联网 发布:nc 数据库的结构 编辑:程序博客网 时间:2024/06/16 21:46

其实很多软件都可以把PDF导出成文本,甚至很多支持批量操作,这里不赘述。本文的内容是如何在Java环境下用代码来完成这个功能。

用到的api是apache的pdfbox:官网下载页面

例程:

import org.apache.pdfbox.util.*import org.apache.pdfbox.pdmodel.*def file = .... // 在这一行搞定你的PDF文件的File对象def text = new StringBuilder()def pdfdef stripper = new PDFTextStripper()try {    pdf = PDDocument.load(file)    def pages = pdf.numberOfPages    (1..pages).each { page ->        stripper.startPage = page        stripper.endPage = page        text << stripper.getText(pdf)    }} catch(e) {    // Whatever you want...} finally {    pdf?.close()        }println text

这段代码逐页的解析PDF文件,当然你不必要这样做,一下子导出全文也可以,不过飞叔我是保守主义者……

注意,有些PDF具备安全限制,这时你需要到这里下载 bcprov-ext 的文件,加上这个 jar 后就可以读了。

××××××××××××××

吐槽:我怎么也没有想明白为神马AdobeReader的文本导出速度如蜗牛似乌龟,好歹他们也是把握着标准的人呀……