其實很多軟體都可以把PDF導出成文本,甚至很多支援批量操作,這裡不贅述。本文的内容是如何在Java環境下用代碼來完成這個功能。
用到的api是apache的pdfbox:官網下載下傳頁面
例程:
[java]
- import org.apache.pdfbox.util.*
- import org.apache.pdfbox.pdmodel.*
- def file = .... // 在這一行搞定你的PDF檔案的File對象
- def text = new StringBuilder()
- def pdf
- def 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 後就可以讀了。
××××××××××××××