doc/jpg等文件在線瀏覽解決方案搭建

在公司OA和CRM系統遇到要實如今線查看word/jpg等文件的功能,按照開發小組的要求搭建了一套解決方案:OpenOffice + JodConvertor + SWFTool+ FlexPaper,其中OpenOffice + JodConvertor用於將文檔轉化爲PDF格式文檔,SwfTool用於將PDF轉化爲SWF文檔,FlexPaper用於展現。使用這個解決方案的最大好處就是跨平臺且較爲簡單。html

1.1 安裝openoffice

openoffice須要jdk的支持,並且默認已經安裝,若是沒有,手動下載Apache_OpenOffice_4.0.1_Linux_x86-64_install-rpm_zh-CN.tar.gz/usr/local/src(CentOS 6.4 x86_64):java

# tar -zxf Apache_OpenOffice_4.0.1_Linux_x86-64_install-rpm_zh-CN.tar.gz
# cd zh-CN/RPMS
# rpm –ivh *.rpm

拷貝字體
安裝完成後把windows(c:\windows\fonts)下的一些經常使用字體拷貝到 /opt/openoffice4/share/fonts/truetype 目錄下,如Arial, Calibri, Courier New, Consolas等,若是你想正確的保留原doc的中文字體,還須要把 黑體、微軟雅黑、宋體 常規、新宋體 常規、幼圓、隸書、楷體 等中文字體拷貝進去(重啓進程後生效)。linux

啓動後臺進程
切換至普通用戶,如wxcrm啓動轉換進程:nginx

$ /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

# ps –ef | grep soffice

1.2 解壓jodconverter

JODConverter是一個java的OpenDucument文件轉換器,能夠進行許多文件格式的轉換工具,它利用OpenOffice來進行轉換工做,它能完成如下轉換:docker

  1. Microsoft Office格式轉換爲OpenDucument,以及OpenDucument轉換爲Microsoft Office
  2. OpenDucument轉換爲PDF,Word、Excel、PowerPoint轉換爲PDF,RTF轉換爲PDF等。

http://sourceforge.net/projects/jodconverter/files/JODConverter/2.2.2/ 下載jodconverter-2.2.2.zip解壓到 /opt 目錄下/opt/jodconverter-2.2.2/。手動轉換測試,使用到的文件是安裝包內的lib/jodconverter-cli-2.2.2.jar:windows

java -jar /opt/jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar /home/oa/docker.docx /home/oa/docker.pdf

至此doc等文件格式能夠成功轉換成pdf。less

2.1 swftool

swftool能夠將pdf/jpg等轉換成swf格式。搜索下載swftools-0.9.1.tar.gz(0.9.2在安裝時可能須要錯誤處理):socket

# yum install gcc* automake zlib-devel libjpeg-devel giflib-devel freetype-devel
# tar vxzf swftools-0.9.1.tar.gz
# cd swftools-0.9.1

# ./configure --prefix=/usr/local/swftools
# make && make install

至此已安裝完預覽功能,能夠經過:工具

/usr/local/bin/pdf2swf -t docker4.pdf -o docker4.swf -T 9 -f -z

測試轉換。-t 後接待轉換的pdf文件路徑,-o接輸出文件路徑和名稱,-T 9 設置使用flash版本9,這個設置主要是爲了跟FlexPaper的版本對應; -f 保留字體,-z使用zlib進行壓縮,這是最經常使用的幾個命令,其餘命令能夠從SWF官網瞭解。測試

2.2 安裝xpdf語言包

在轉換包含中文的PDF文檔成swf時,經常會由於缺乏所需的字體而出現亂碼,或者乾脆就沒有文字,就須要使用到xpdf的字體庫。
http://www.foolabs.com/xpdf/download.html 下載xpdf-chinese-simplified.tar.gz,解壓到/usr/local下,編輯add-to-xpdfrc文件,以下:

# vi /usr/local/xpdf-chinese-simplified/add-to-xpdfrc
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode    Adobe-GB1       /usr/local/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap      ISO-2022-CN     /usr/local/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap      EUC-CN          /usr/local/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap      GBK             /usr/local/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir         Adobe-GB1       /usr/local/xpdf-chinese-simplified/CMap
toUnicodeDir                    /usr/local/xpdf-chinese-simplified/CMap

fontDir /usr/share/fonts/win
displayCIDFontTT    Adobe-GB1    /usr/share/fonts/win/SIMHEI.ttf
displayCIDFontTT    Adobe-GB1    /usr/local/xpdf-chinese-simplified/CMap/gbsn00lp.ttf
displayCIDFontTT    Adobe-GB1    /usr/local/xpdf-chinese-simplified/CMap/gkai00mp.ttf

能夠使用xftp將經常使用的中文字體上傳到/usr/share/fonts/win,如宋體、微軟雅黑、黑體、楷體等。另外去 網上下載 gkai00mp.ttf、gbsn00lp.ttf簡體中文放到上面正確的路徑下,參考http://shitouququ.blog.51cto.com/24569/1252930

轉換時加上-s languagedir=/usr/local/xpdf-chinese-simplified/來加載語言包路徑。

另外據同事說在 windows 平臺安裝和轉換效果會好一點,沒有驗證。

參考


原文連接地址:http://seanlook.com/2015/05/13/pdf2swf-preview/

相關文章
相關標籤/搜索