去年開發了一個OA系統,需要實現文檔一鍵上傳並實現在線預覽,類似百度文庫的功能。
系統環境:CentOs5.5
用到的工具:Openoffice 3 , Pdf2Swf tool , Jodconverter , FlexPaper
網上找了些資料,早有人已經實現了這樣的功能,只不過是用JAVA來寫的東東,PHP的沒找著。
結合網上的資料根據實現操作經驗。
紀錄並總結一下:
整體思路如下:
實現步驟: 1. DOC上傳 2. DOC轉成PDF 3. PDF轉成SWF 4. 顯示
基於對Linux環境引入openoffice sdk + pdf2swf tool,分兩個步驟,先利用openoffice sdk把文檔統一轉成pdf,然後利用pdf2swf tool把pdf轉成swf
實現過程
要實現DOC轉成PDF,在LINUX下面有Openoffice可以實現。
那麼首先需要的是安裝Openoffice這個東東。
1. 安裝openoffice3,這個安裝過程很糾結,遇到過各種問題,因為先後在幾台服務器上安裝過,最順利的安裝方法如下,如果遇到問題請看前面的文章有講openoffice的安裝。
tar zxvf OOo_3.3.0_Linux_x86-64_install-rpm-wJRE_zh-CN.tar.gz
cd RPEM
rpm -ivh *.rpm --nodeps –force
安裝後的默認目錄是在:/opt/目錄下面
啟動服務:
/opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
在CentOs下面會缺少黑體和宋體的,直接找到Windows下面的字體目錄把黑體和宋體復制進去到目錄
/opt/openoffice.org/basis3.3/share/fonts/truetype/
需要重啟後才會生效
2. 安裝OpenOffice SDK3.3
tar zxvf OOo-SDK_3.3.0_Linux_x86-64_install-rpm_en-US.tar.gz
cd OOO330_m20_native_packed-1_en-US.9567/RPMS/
rpm -vih *.rpm
3. 安裝jodconverter.2.2.2 ,安裝了這個之後就已經可以實現DOC轉PDF了。
這個安裝很簡單,直接上網站下一個這個東東回來。
解壓,復制到一個目錄裡面去,就能直接用了,調用它裡面的/lib/jodconverter-cli-2.2.2.jar這個玩意兒就行,可以直接運行命令測試:
java -jar /usr/local/wenku/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /tmp/1.doc /tmp/1.pdf