在CentOS 6上使用yum安裝的ImageMagick與ghostscript8.70版,直接呼叫程式轉PDF檔時會發生錯誤,因此手動安裝新版程式並設定liferay中的外部服務;



1. 移除舊版ImageMagick與ghostscript:

yum remove imagemagick -y
yum remove ghostscript -y



2. 手動抓取新版並解壓,在這裡使用ghostscript 9.07版:

cd /tmp


wget http://downloads.ghostscript.com/public/ghostscript-9.07.tar.gz [^]
wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz [^]

tar xf ghostscript-9.07.tar.gz
tar xf ImageMagick.tar.gz



3.手動安裝,安裝過程需要一些時間:

先安裝ghostscript

cd /tmp/ghostscript-9.07
./configure
make
make install

再安裝ImageMagick

cd /tmp/ImageMagick
./configure
make
sudo make install
sudo ldconfig /usr/local/lib

刪除暫存資料夾
rm -Rf /tmp/ghostscript-9.07
rm -Rf /tmp/ImageMagick



4. 安裝完成之後直接用gs指令測試轉檔功能:

查詢gs路徑: which gs
用顯示的路徑呼叫gs,並且進行轉檔測試:
如/usr/local/bin/gs -sDEVICE=pngalpha -sOutputFile=/usr/figure-%03d.png -r144 /usr/aaa.pdf
這裡%03d會依照PDF的張數去產生對應的檔名,轉換來源是/usr/aaa.pdf
若成功則會出現gs視窗並出現轉檔完成的圖片(視窗化模式限定)
gs001  


5. 設定伺服器管理中的external-service外部服務:

使用which gs尋找gs程式路徑,在這裡是/usr/local/bin/gs,但在external-service中只需要設定到/usr/local/bin就好。


也可於portal-ext.properties設定imagemagick.enabled等屬性:

imagemagick.enabled=true
imagemagick.global.search.path[unix]=/usr/local/bin


啟用後,上傳帶有中文碼的PDF檔案測試看看。


P.S.(Liferay在未啟用ImageMagick與ghostscript的情況下,使用的PDFBox預覽方式在呈現一些中文PDF檔案時會以亂碼顯示)

Liferay Portal 6.2.1 GA2
Tomcat 7.0.40
CentOS 6

參考資料:http://www.liferay.com/zh/community/wiki/-/wiki/Main/Preview+Generation [^]
http://www.liferay.com/zh/community/forums/-/message_boards/message/14402973 [^]


squall75726 發表在 痞客邦 留言(0) 人氣()