在項目開發中經常會有將“word轉換爲pdf”、“將word轉換爲圖片”、將“pdf轉換爲圖片” 的需求。
針對如上需求,寫一下自己在這方面的實現:
1、word轉換爲pdf ,前面有文章已經寫過,參考地址: http://blog.csdn.net/catoop/article/details/42527349
2、word轉換爲圖片,實現思路爲 word——>pdf——>png 第一步轉換參考前面寫過的文章
3、pdf轉換爲圖片,我們實現思路 pdf——>png
本文重點說一下 pdf 到 png 的轉換:
首先我們要做如下準備:
1、GhostScript 安裝
2、ImageMagick 安裝
下面做一下分解:
一、GhostScript 安裝和測試
我們先下載安裝 GhostScript,官網地址:http://ghostscript.com/download/gsdnld.html(我已經下載過一個免安裝版本,官方9.15版本 http://download.csdn.net/detail/catoop/8363115),這個建議大家使用官方最新版本。
(這裏下載可以直接運行的版本 ghostscript-9.15-linux-x86_64.tgz ,下載解壓後,直接複製到 /usr/bin 目錄下,命名爲gs 即可,如果/usr/bin目錄下已經存在該文件,記得備份之前的文件後再拷貝過去)
安裝成功後,輸入命令 gs -version 如果有如下輸出,說明安裝成功,打印的是版本。
然後用如下命令轉換輸出一個pdf測試,命令:
執行命令後,會有如下輸出,其中Page爲轉換的頁碼,其他輸出是因爲一些字體問題而出現的數據,只要能輸出到最後一頁中間不中斷,就說明文件解析轉換成功,下面是我轉換的一個文件的輸出內容:
至此,GhostScript 的安裝和測試已經成功。
PS:關於 gs 命令的很多參數,需要的對照官網進行研究吧。很強大的。
二、ImageMagick 安裝
下載安裝 ImageMagick,官網下載地址:http://www.imagemagick.org/script/download.php ,其中有很多連接,找一個能下載的下載安裝(都是國外網站,需要的就撥一下VPN吧)
安裝成功後,使用命令 convert -version 查看ImageMagick 版本號,驗證是否安裝成功,如下:
執行命令,進行pdf轉換測試:
至此,ImageMagick 安裝和測試完成。
有的朋友可能會問,上面我們使用 ghostscript 已經可以轉換文件圖片,爲什麼還要安裝ImageMagick呢?
這裏解釋一下:ImageMagick 的 convert 命令重點和強大之處是圖片的處理能力,很多時候,我們需要直接對pdf轉換出來的圖片進行處理。這種情況下,使用 convert 命令會滿足我們很多需求,關於 convert 命令的很多參數,大家查看關於 ImageMagick 的資料瞭解,這裏也不做贅述。
另外說一下:convert 命令直接把pdf 轉換爲圖片,是依賴的 ghostscript 庫,所以 ghostscript 可以單獨進行圖片轉換,而 convert 在安裝ghostscript 之前,只能進行單獨的圖片處理,不能直接轉換 pdf 爲圖片。
最後跟大家提一下,在我們的業務應用實現中,建議大家講文件轉換的命令寫到shell 腳本中,使用程序調用腳本。雖然也可以通過代碼調用 api 實現,不過我覺得還是使用系統的shell 處理,效率會高一些。
謝謝!