1. 程式人生 > >利用OpenOffice、flexpaper、swftools將DOC、JPG檔案轉PDF再轉成SWF線上預覽

利用OpenOffice、flexpaper、swftools將DOC、JPG檔案轉PDF再轉成SWF線上預覽

公司需要將文件進行線上預覽,鑑於網上沒一個完整的踩坑流程而且大牛不願寫的情況,鄙人願手操一份方便日後相見(段友可能懂)!害羞

完全貼程式碼這種浪費讀者時間的事情,恕小人難做到!

windows上的應用網上多多少少也能拼接,我就只記錄一下linux的。所需檔案和原始碼全部打包到了這裡

當然各位去官網更好。

一、Linux安裝OpenOffice

        解壓OpenOffice檔案:tar -zxvf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar

        進入資料夾內的RPMS資料夾內,並執行rpm -ivh *.rpm一次性安裝相關rpm

  • cd desktop-integration

        安裝桌面的RPM(注意區分)

  • 命令程式碼rpm -ivh openoffice4.1.3-redhat-menus-4.1.3-9783.noarch.rpm

        啟動OpenOffice服務。

        soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

如果soffice命令不成功,就cd /opt/openoffice4/program/去這個目錄去執行吧。

用ps -ef | grep openoffice來判斷服務是否啟動成功

二、Linux安裝SwfTools

1、安裝命令如下:

wget http://www.swftools.org/swftools-0.9.2.tar.gztar vxzf swftools-0.9.2.tar.gzcd swftools-0.9.2./configure --prefix=/usr/swftoolsmakemake install修改配置檔案vim /etc/profile(vi /etc/profile也可以)export PATH=$PATH:/usr/swftools/bin/

source  /etc/profile(這是我的個人習慣,讓其生效,免得後患)

2、安裝xpdf語言包

下載xpdf-chinese-simplified.tar.gz並在/user/share/xpdf下面解壓出來

tar -zxvf xpdf-chinese-simplified.tar.gz

解壓後的xpdf-chinese-simplified下面會有一個CMAP資料夾,把我給的壓縮包裡面的gkai00mp.ttf放進這個目錄,然後修改

vi add-to-xpdfrc

內容如下:

cidToUnicode   Adobe-GB1       /usr/share/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode

unicodeMap     ISO-2022-CN    /usr/share/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap

unicodeMap     EUC-CN             /usr/share/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap

unicodeMap     GBK           /usr/share/xpdf/xpdf-chinese-simplified/GBK.unicodeMap

cMapDir            Adobe-GB1       /usr/share/xpdf/xpdf-chinese-simplified/CMap

toUnicodeDir                      /usr/share/xpdf/xpdf-chinese-simplified/CMap

displayCIDFontTT Adobe-GB1 /usr/share/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf

這時候把pdf轉成swf看看效果

pdf2swf -s languagedir=/usr/local/xpdf/xpdf-chinese-simplified -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 "/opt/a.pdf" -o "/opt/a.swf"

把生成的a.swf下載本地看看是否正常

注意幾大坑!!!

1、檔案轉PDF的時候亂碼,需要在/opt/openoffice4/share/fonts/truetype加入支援中文字型的ttf檔案。這時候要重啟OpenOffice.

2、xpdf不把支援中文字型的東西加入進去會在pdf轉swf的時候亂碼。

3、路徑顯示問題。如果是單純的tomcat,需要在tomcat下面的conf/server.xml裡面的host內加入東西,比如你希望在/home/data下面顯示東西。而你想在jsp中顯示/swf.你就得寫

<Context crossContext="true" docBase="/home/data" path="/swf" reloadable="false"/>