一、概述
二、java實作文檔線上預覽
2.1 永中dcs簡介
2.2 使用方式
2.3 centos安裝部署dcs服務
編輯java環境
安裝部署tomcat
部署dcs工程
安裝nginx
2.4 接口說明
上傳文檔
url預覽文檔
伺服器本地轉換
converttype參數取值說明
2.5 java實作文檔線上預覽
公司主要負責政府方面的項目,也包括一些oa的項目。oa項目當中,最常見的功能就是需要和各種excel,word文檔打交道,比如需要實作文檔的下載下傳,列印,以及實時預覽功能。現有需求,需要用java實作,word文檔的線上預覽功能,格式包含.doc,.docx,工具不僅word,還要相容國産wps軟體。
該部分内容順理成章的就成為我的任務,負責研究,然後形成一個技術方案來提供給開發人員。
在某度,某oogle上瘋狂了解的相關内容後,最終定位于永中dcs,以此篇文章來提供技術方案。
官網位址:https://www.yozodcs.com/index.html
點選此處跳轉官網:永中dcs
永中文檔線上預覽軟體(document conversion service,簡稱dcs)是通過解析常用辦公文檔的格式,提供不同文檔格式間的互相轉換,實作常用格式文檔的閱讀等服務。 dcs能直接部署在windows或linux網絡作業系統上,與web 伺服器、郵件伺服器等配合,提供office文檔閱讀及批量轉換功能。永中dcs支援閱讀和轉換的文檔格式非常豐富,涵蓋微軟office 97~2016、pdf、uof和ofd等常用文檔格式,同時可根據使用者需求進行特定格式的合作。
我們通過官方的資料可以發現,其能提供的主要功能有:
解析文檔
文檔之間的格式轉換
線上預覽
多平台相容(windows,linux)皆可部署。
良好的擴充性,可相容其他web伺服器,郵件伺服器等。
多方文檔的支援(微軟的office,pdf等多種格式)
永中文檔轉換元件和dcs伺服器兩種使用方式:前者是jar包調用(dcc),主要适合java語言調用;後者為http請求方式調用,支援各種開發語言以标準web服務方式提供調用,如搭配負載均衡伺服器,可部署到多台伺服器上并發使用,實作叢集部署。 在輸出網頁效果方面,新增高清版網頁效果支援。可在網頁中展示與office中顯示一緻的原版式、支援無極縮放和複制文本内容的高清版面效果。
具體支援的格式有:
源格式
目标格式(圖像包括jpg、png、bmp、tiff等)
說明
xls、xlsx
html/pdf/uof/txt/csv/圖像/eio
微軟文檔格式
ppt、pptx
html/pdf/uof/txt/圖像/eio
doc、docx
rtf
rtf文檔格式
eio
html/pdf/uof/txt/圖像/doc/xls/ppt
永中office格式
uof、uos
html/pdf/txt/圖像/doc/xls/ppt
中文辦公軟體文檔标準格式
xml
xml文檔格式
png
adobe閱讀pdf文檔格式
office文檔
ofd
中文版式文檔格式
由此,我們可以發現,幾乎在日常工作中所使用的文檔,幾乎全部涵蓋在了其中。
了解了此款軟體後,我大呼一口氣,上司交代的任務,這下差不多已經有了交代,接下來就開始實戰了。
因為公司項目主要釋出在centos伺服器上,是以需要在centos部署dcs服務。
首先,伺服器需要jdk環境,至少jdk8版本以上。
在oracle官網下載下傳jdk8到本地,下載下傳完成後,通過ftp方式或者rz 上傳檔案的方式,将jdk-8u60-linux-x64.tar.gz 檔案上傳至伺服器。
然後通過<code>tar -zxvf jdk-8u60-linux-x64.tar.gz</code>解壓檔案。并通過mv指令重命名檔案為jdk8。
此處我解壓在了/opt路徑下。接下來,需要配置java環境。
<code>vi /etc/profile</code>
新增如下内容:
配置檔案生效
檢測是否安裝成功:
若出現如下界面,則證明jdk配置成功!
在tomcat官網下載下傳apache-tomcat-8.0.26.tar.gz檔案。
下載下傳完成後,通過ftp方式或者rz 上傳檔案的方式,将檔案上傳至伺服器。
解壓檔案:
将永中dcs工程目錄複制到tomcat 的webapp目錄下。
修改${tomcat.home}\conf\server.xml檔案.在host節點下增加如下參考代碼:
<context docbase=“指向項目的根目錄所在的路徑” path=“虛拟目錄名” reloadable=“true”/ >
根據需要修改項目中 ${dcs.web}\web-inf\config.properties和log4j.properties的配置。需要在目錄/usr/x11r6/lib/x11/fonts/truetype下加入字型檔案。
啟動tomcat後,通路http://localhost:8080/dcs.web 即可看到“線上文檔預覽示例”頁面。
進入 nginx 檔案夾 cd nginx-1.9.2
執行 ./configure 可能會遇到系統缺少庫
問題:
./configure: err: c compiler cc is not found
缺少gc++庫檔案
等待 complete
./configure: error: the http rewrite module requires the pcre library
等待complete
./configure:error: the http gzip module requires the zlib library
解決所有問題後 再次 解決所有問題後:
安裝完成後對/usr/local/nginx/conf/nginx.conf 配置檔案進行所需配置。
請求位址:
post http://伺服器位址/upload
例如:http://localhost:8080/dcs.web/upload
上傳您要線上預覽的文檔。
參數:
file - 檔案作為multi-part post請求參數,用于上傳本地文檔 (必須)
converttype - 轉換類型參數(必須)
post http://伺服器位址/onlinefile
downloadurl - 文檔url,用于預覽網絡文檔。此url應為編碼(utf-8 url-encoded)後的url。
converttype - 轉換類型參數
post http://伺服器位址/convert
inputdir - 文檔在伺服器上的路徑(相對于配置檔案中input的相對路徑)
mergeinput - 使用文檔合并功能時,需要合并的文檔路徑同inputdir
需要添加相關依賴,附上pom.xml依賴内容:
在idea中,建立test方法進行測試:
執行該test的main方法之後,在控制台會輸出轉換後的位址:
點選該位址後,即可線上預覽word檔案。