onlyoffice学习记录-安装与Demo运行
onlyoffice 安裝與運(yùn)行
公司項(xiàng)目需要導(dǎo)入自定義表單然后分發(fā)給不同人去填寫,然后再搜集匯總,于是便研究了在線協(xié)作文檔開源框架onlyoffice。發(fā)現(xiàn)網(wǎng)絡(luò)上這個(gè)并沒有很詳細(xì)的技術(shù)文檔,于是對照了網(wǎng)絡(luò)上僅有的內(nèi)容看起了官網(wǎng)的英文文檔。現(xiàn)將學(xué)習(xí)探索內(nèi)容記錄如下,供后續(xù)翻閱查看。
該文章僅針對onlyoffice下的document server服務(wù)。
下載安裝
僅采用docker鏡像方式安裝,其它安裝方式后續(xù)嘗試后再來補(bǔ)充。
docker 環(huán)境搭建請去網(wǎng)上搜索教程,不再贅述
鏡像下載命令如下:
docker pull onlyoffice/documentserver運(yùn)行鏡像命令如下:
docker run -i -t -d -p 8090:80 onlyoffice/documentserver驗(yàn)證
安裝完成后,瀏覽器打開 ip:8090,出現(xiàn)如下界面則安裝成功。
其中,前兩段講述我們可以將其集成到我們的web應(yīng)用中,通過網(wǎng)頁形式編輯,打開,保存 DOCX,XLSX,PPTX等文檔。
具體集成方式是通過在我們自己應(yīng)用中調(diào)用上文安裝的服務(wù)的接口進(jìn)行集成。
Demo運(yùn)行
由于對服務(wù)接口集成沒有啥概念,先看下官方給定的Java版的Demo
下載地址
https://api.onlyoffice.com/editors/demopreview
由于是個(gè)maven項(xiàng)目,一開始選擇使用idea導(dǎo)入運(yùn)行,并在pom.xml文件里增加Tomcat插件運(yùn)行。pom.xml文件增加如下:
<plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8087</port> //指定服務(wù)端口<path>/only</path> //指定服務(wù)訪問路徑<uriEncoding>UTF-8</uriEncoding><server>tomcat7</server></configuration></plugin>由于是使用的maven集成的Tomcat插件,所以需要在開發(fā)工具右側(cè)maven管理界面里啟動(dòng),tomcat7:run,如下:
然后瀏覽器輸入 http://localhost:8087/only 如下則啟動(dòng)成功。
但點(diǎn)擊新建 excel,報(bào)如下錯(cuò)誤:
查看部署的documentserver服務(wù)日志:
[2021-07-20T02:09:33.651] [ERROR] nodeJS - error downloadFile:url=http://localhost:8087/only/app_data/10.128.12.7/new.xlsx;attempt=1;code:ECONNREFUSED;connect:null;(id=-260165087) Error: connect ECONNREFUSED 127.0.0.1:8087at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14) [2021-07-20T02:09:34.656] [ERROR] nodeJS - error downloadFile:url=http://localhost:8087/only/app_data/10.128.12.7/new.xlsx;attempt=2;code:ECONNREFUSED;connect:null;(id=-260165087) Error: connect ECONNREFUSED 127.0.0.1:8087at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14) [2021-07-20T02:09:35.660] [ERROR] nodeJS - error downloadFile:url=http://localhost:8087/only/app_data/10.128.12.7/new.xlsx;attempt=3;code:ECONNREFUSED;connect:null;(id=-260165087) Error: connect ECONNREFUSED 127.0.0.1:8087at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1107:14)日志可以看出documentserver對127.0.0.1:8087嘗試了三次連接,均失敗。127.0.0.1:8087是我們訪問Demo服務(wù)的地址,Demo服務(wù)會(huì)上傳當(dāng)前地址到documentserver。
所以只需將http://localhost:8087/only 中l(wèi)ocalhost替換為本地ip地址即可。
重新新建Excel文件,報(bào)錯(cuò)如下:
再次查看日志,如下:
==> /var/log/onlyoffice/documentserver/converter/out.log <== [2021-07-20T02:37:41.230] [ERROR] nodeJS - error downloadFile:url=http://10.128.12.7:8087/only/app_data/10.128.12.7/new%20%281%29.xlsx;attempt=1;code:null;connect:null;(id=677730435) Error: Error response: statusCode:404 ;body: <html><head><title>Apache Tomcat/7.0.47 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 404 - /only/app_data/10.128.12.7/new%20%281%29.xlsx</h1><HR size="1" noshade="noshade"><p><b>type</b> Status report</p><p><b>message</b> <u>/only/app_data/10.128.12.7/new%20%281%29.xlsx</u></p><p><b>description</b> <u>The requested resource is not available.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.47</h3></body></html>at Request._callback (/snapshot/server/build/server/Common/sources/utils.js:0:0)at Request.init.self.callback (/snapshot/server/build/server/Common/node_modules/request/request.js:185:22)at Request.emit (events.js:198:13)at Request.<anonymous> (/snapshot/server/build/server/Common/node_modules/request/request.js:1154:10)at Request.emit (events.js:198:13)at IncomingMessage.<anonymous> (/snapshot/server/build/server/Common/node_modules/request/request.js:1076:12)at Object.onceWrapper (events.js:286:20)at IncomingMessage.emit (events.js:203:15)at endReadableNT (_stream_readable.js:1145:12)at process._tickCallback (internal/process/next_tick.js:63:19)日志可以看出新建的文件在指定路徑下找不到,報(bào)了404,但我在項(xiàng)目目錄下webappapp_data下卻能看到新建文件,那應(yīng)該是存儲(chǔ)時(shí)保存路徑和讀取路徑不一致導(dǎo)致。應(yīng)該是保存到webapp/app_data目錄,才能正常訪問。
經(jīng)過debug調(diào)試,發(fā)現(xiàn)保存路徑拼接成了webappapp_data,于是修改配置文件如下(在app_data前面加了一個(gè)斜杠):
修改后重啟,可以正常新建,打開,編輯,保存office文檔了。如下:
但有一個(gè)問題,Excel編輯界面都是英文按鈕,使用起來不習(xí)慣。這時(shí)可以回到首頁,左側(cè)側(cè)邊欄選擇Language為Chinese,然后再次打開文檔就變成中文界面了。
關(guān)于onlyoffice后續(xù)探索會(huì)繼續(xù)記錄,請持續(xù)關(guān)注。
注意事項(xiàng)
1、使用maven集成的Tomcat運(yùn)行時(shí)暫未找到debug調(diào)試入口。debug調(diào)試,需要idea 集成第三方Tomcat來部署Demo,再以debug方式運(yùn)行。具體方式請自行百度。
2、Demo中新建文件是存儲(chǔ)到服務(wù)器目錄下的,也可以根據(jù)實(shí)際開發(fā)需要存儲(chǔ)到第三方oss服務(wù)器上。
參考文章
OnlyOffice二次開發(fā)探索(J2EE)
總結(jié)
以上是生活随笔為你收集整理的onlyoffice学习记录-安装与Demo运行的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: App违法违规收集使用个人信息行为认定方
- 下一篇: 中国医药代理商大全 2005 多特软件站