標籤:pdfbox apache java
在寫具體代碼之前,咱們先瞭解一下Apache PDFbox API架構給我們提供的命令列工具。通過這個命令列工具,我們可以瞭解大部分
Apache PDFbox給我們提供的強大功能。
在我們運行命令之前,我們首先需要去下載這個命令列工具所依賴的jar檔案,大家可以去下面的任何一個網站去下載。
http://apache.fayea.com/apache-mirror/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
http://mirrors.cnnic.cn/apache/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
http://apache.dataguru.cn/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
http://mirrors.hust.edu.cn/apache/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
http://mirror.bit.edu.cn/apache/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
http://mirror.esocc.com/apache/pdfbox/1.8.5/pdfbox-app-1.8.5.jar
下載完成後,大家可以把這個jar放到本地電腦上的一個檔案中,筆者就把其放在,d:/pdftest 目錄下,
假設大家有一件配置好Java home的環境了。我們本人配置的是,jdk1.6.0; 你可以根據你實際的安裝環境,
使用其他JDK的版本。
環境都準備好了,現在萬事具備,只欠實際操作。但是在實際操作之前,給大家簡單囉嗦一下,Apache
PDFBox項目到底內建了那些命令來操作PDF檔案的呢?總的來說,其包括了下面的一些命令。
- PDFBox命令列工具
- Decrypt: 解密一個PDF文檔
- Encrypt: 加密一個PDF文檔
- ExtractText:從PDF文檔中提取字串
- OverlayPDF: 覆蓋PDF檔案
- PrintPDF : 列印PDF檔案
- PDFDebugger: 列出PDF文檔本身的資訊
- PDFReader : 讀取PDF文檔
- PDFMerger: 合并PDF文檔
- PDFSplit : 拆分PDF文檔
- PDFToImage: 把PDF文檔轉換成一張圖片
- TextToPDF: 把一段文本轉換成一個PDF檔案
- WriteDecodedDoc: 解壓縮一個PDF檔案
限於篇幅,我們當前的例子中。只示範3~4個命令的使用,其他的大家可以參考https://pdfbox.apache.org/commandline/ 其官方網站上說明或者讀者自己舉一反三。
(1) 在進行所有的命令前,我肯定需要一個PDF的檔案,那麼我們就用這個工具來建立一個PDF檔案: TextToPDF我們在網上找一篇文章。我們就以https://pdfbox.apache.org/architecture.html這篇文章為例子,把其拷貝到一個test.txt檔案中,並把這個文字檔放在d:/pdftest 檔案夾下。然後執行下面的命令。
d:\pdftest>java -jar d:/pdftest/pdfbox-app-1.8.5.jar TextToPDF d:/pdftest/csdnblog.pdf d:/pdftest/test.txt
將會在d:\pdftest 檔案中產生一個test.pdf檔案。這個PDF檔案包含2頁紙。
(2) 既然我們已經建立好了,那麼我們就用命令列工具:PDFReader 查看一下,
D:\pdftest>java -jar d:/pdftest/pdfbox-app-1.8.5.jar PDFReader d:/pdftest/test.pdf
(3) 在上面我提到了,產生的test.pdf 有兩頁。現在我們就用PDFSplit命令把test.pdf拆成兩個PDF檔案。
d:\pdftest>java -jar d:/pdftest/pdfbox-app-1.8.5.jar PDFSplit -startPage 1 -split 1 d:/pdftest/test.pdf
其中 -startPage 1 表示從第一頁開始拆分
-split 1 表示被拆分後,每個單獨的被拆分的PDF檔案是多少頁
是拆分後的結果,可以看出test.pdf 被拆分成了2個PDF檔案,test-0.pdf和test-1.pdf
(4)最後給大家展示一下PDFDebugger命令列工具的使用。
D:\pdftest>java -jar d:/pdftest/pdfbox-app-1.8.5.jar PDFDebugger d:/pdftest/test.pdf
執行上面的命令後,將會彈出下面的表單。其顯示了PDF檔案本身的一些描述資訊。