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

原文地址:http://blog.csdn.net/hiarcs/article/details/6621623

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

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

例程:

  1. import org.apache.pdfbox.util.*  
  2. import org.apache.pdfbox.pdmodel.*  
  3.   
  4. def file = .... // 在这一行搞定你的PDF文件的File对象  
  5. def text = new StringBuilder()  
  6. def pdf  
  7. def stripper = new PDFTextStripper()  
  8. try {  
  9.     pdf = PDDocument.load(file)  
  10.     def pages = pdf.numberOfPages  
  11.     (1..pages).each { page ->  
  12.         stripper.startPage = page  
  13.         stripper.endPage = page  
  14.         text << stripper.getText(pdf)  
  15.     }  
  16. catch(e) {  
  17.     // Whatever you want...  
  18. finally {  
  19.     pdf?.close()          
  20. }  
  21.   
  22. println text  

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

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

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

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

 

posted @ 2016-05-06 13:30  霓裳梦竹  阅读(359)  评论(0)    收藏  举报