天天看點

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

其實很多軟體都可以把PDF導出成文本,甚至很多支援批量操作,這裡不贅述。本文的内容是如何在​​Java​​環境下用代碼來完成這個功能。

用到的api是apache的pdfbox:​​官網下載下傳頁面​​

例程:

[java] ​​​​

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

這段代碼逐頁的解析PDF檔案,當然你不必要這樣做,一下子導出全文也可以,不過飛叔我是保守主義者……

注意,有些PDF具備安全限制,這時你需要下載下傳 bcprov-ext 的檔案,加上這個 jar 後就可以讀了。

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