行業文庫
行業文庫

INDUSTRY NEWS

首頁 > 行業文庫 > 正文
大(dà)神解讀在Windows或Liunx系統上使用(yòng)ONLYOFFICE協作編輯文檔開發
發布時(shí)間:2020-03-25 23:41:12
1、說明(míng)——可(kě)以加我qq6277979溝通(tōng)。
 
ONLYOFFICE Document Server提供文檔協作的(de)服務功能,支持Word,Excel和(hé)PowerPoint以及國産WPS的(de)協作。但是這(zhè)裏告訴我們,需要進行文檔管理(lǐ)和(hé)存儲的(de)二次開發。它api裏現成的(de)開發好的(de)文檔管理(lǐ)平台,有java,node.js,PHP等,可(kě)能不具備權限功能吧。
 
Please note, that ONLYOFFICE Document Server includes the documenteditor, document editing service, document command service and documentconversion service.The document manager and documentstorage service areeither included to Community Server or must be implemented by the softwareintegrators who use ONLYOFFICE Document Server on their own server.
 
它自己的(de)ONLYOFFICE/CommunityServer就是管理(lǐ)文件用(yòng)的(de),是一個(gè)龐大(dà)的(de)項目管理(lǐ)系統。
 
ONLYOFFICE CommunityServer is a free open source collaborative system developed to managedocuments, projects, customer relationship and email correspondence, all in oneplace.
 
Nextcloud,可(kě)道雲等雲盤系統也(yě)支持ONLYOFFICE協作服務,我用(yòng)Golang語言開發的(de)EngineerCMS來(lái)實現ONLYOFFICE的(de)文檔管理(lǐ)和(hé)存儲,調用(yòng)ONLYOFFICE Document Server服務來(lái)進行文檔協作,權限完全按照(zhào)官方的(de)community。
 
協作的(de)好處在于少了(le)來(lái)回傳遞文檔,少了(le)彙總的(de)負責人(rén),特别是十多(duō)人(rén)合作編寫文檔的(de)時(shí)候,彙總的(de)工作量大(dà),容易出錯,任何人(rén)稍微修改一點,都要重新傳遞整個(gè)文檔,彙總後還(hái)要再次發給大(dà)家核對(duì)……。
 
協作也(yě)可(kě)以應用(yòng)于校審流程,校核和(hé)審查直接在文檔上修改即可(kě)。
 
其他(tā)如月(yuè)報的(de)合作,工作任務表的(de)更新:每個(gè)人(rén)的(de)任務表要随時(shí)更新,除非用(yòng)專業的(de)任務管理(lǐ)軟件,否則用(yòng)Excel表格的(de)話(huà),也(yě)是要負責人(rén)彙總更新表格,應付領導檢查。
 
會議(yì)紀要寫好了(le),把鏈接發給大(dà)家,有意見直接在上面修改補充。
 
投标要多(duō)人(rén)協作的(de)話(huà),用(yòng)這(zhè)個(gè)平台也(yě)是不錯的(de)。
 
報表的(de)彙總。
 
市場(chǎng)上協作的(de)平台不下(xià)幾十種,著名的(de)如石墨,一起寫,騰訊文檔協作TIM,Google Doc,office365,office online等,基本按人(rén)月(yuè)收費,免費的(de)有人(rén)數限制,并且想自己部署在局域網的(de)話(huà)也(yě)不大(dà)可(kě)能。你的(de)文檔上傳給他(tā)們或許有諸多(duō)不便呢(ne)。比如銀行的(de)報表,嘿嘿,你懂(dǒng)的(de)。
 
所以,我就在ONLYOFFICE Document Server基礎上用(yòng)Golang語言開發了(le)文檔管理(lǐ)和(hé)存儲功能,方便大(dà)家免費無限制任意部署的(de)需求。
 
總的(de)思路就是比如在局域網的(de)某台windows(或linux)電腦(nǎo)上安裝docker容器來(lái)運行ONLYOFFICE Document Server,然後運行EngineerCMS來(lái)調用(yòng)ONLYOFFICE Document Server的(de)服務。在雲服務器上部署也(yě)是一個(gè)道理(lǐ)。
 
ONLYOFFICE目前存在的(de)缺點:漢字輸入不是很方便,就是當輸入符号的(de)時(shí)候,它會重複将前面的(de)漢字又輸進去一次:解決辦法,在設置裏勾選象形文字(5.1.2新版已經解決這(zhè)個(gè)問題);Excel表格裏的(de)文字格式沒有删除線、上下(xià)标之類,文本框中的(de)文字有這(zhè)些格式,Word中也(yě)有;QQ拼音(yīn)輸入法按空格不能輸出漢字,(5.1.2新版已經解決這(zhè)個(gè)問題)搜狗輸入法可(kě)以;字體/樣式選擇裏顯示的(de)是英文,不是漢字(用(yòng)ps修改一下(xià)圖片即可(kě));打開文檔默認文字檢查都是打開的(de),新版5.1.2版支持word目錄,但沒有文檔結構(免費版不支持文檔結構圖,需要另外開發,已經有解決方案)。但瑕不掩瑜,它的(de)功能還(hái)是很強大(dà)的(de),而且随著(zhe)版本的(de)更替,會解決這(zhè)些問題的(de)。
 
2、安裝準備
 
如果是局域網,部署的(de)電腦(nǎo)擁有固定ip(下(xià)文叫宿主機,切記)。電腦(nǎo)能打開cup的(de)虛拟功能。如果部署到雲主機,道理(lǐ)是一樣的(de)。
 
環境是win7以上,win10以下(xià)。Win10區(qū)别就是安裝的(de)docker軟件不同而已,win10不需要設置端口轉發。
 
linux就更簡單了(le)。
 
第一步:确定電腦(nǎo)打開了(le)cpu虛拟打開。https://jingyan.baidu.com/article/22fe7ced3b4c003002617f17.html
 
第二步:下(xià)載和(hé)安裝docker toolbox,默認安裝即可(kě)。下(xià)載地址http://get.daocloud.io/,下(xià)載支持舊(jiù)版windows的(de)docker toolbox,win10就直接下(xià)載docker了(le)。
 
第三步:啓動docker後在裏面拉取Onlyoffice Document Server 的(de)Docker鏡像
 
3、拉取ONLYOFFICE Document Server 的(de)Docker鏡像
 
拉取鏡像:啓動docker,在裏面輸入命令docker pull onlyoffice/documentserver
 
(注意:docker要斷網啓動!!切記,啓動後再聯網。如果已經運行了(le)onlyoffice document server 下(xià)次開機,重新啓動docker後,不需要在運行onlyoffice的(de))
 
可(kě)以用(yòng)我做(zuò)好的(de)鏡像導入(離線包導入),已經設置好了(le)字體,修正了(le)幾個(gè)翻譯錯誤,可(kě)以省略第5步,從第4步直接跳過第5步到第6步。
 
用(yòng)docker load < fei6onlyoffice5.4.2.tar命令。
 
建議(yì)用(yòng)離線的(de),
 
(Administrator@604TFALNDKDKJWCMINGW64 ~
 
$ dockerexport -o onlyoffice-`date +%Y%m%d`.tar 6df)
 
$ docker import  onlyoffice-20180220-import.tar onlyoffice/documentserver——import命令是錯誤的(de)。
 
離線的(de)包在我的(de)網盤中:https://pan.baidu.com/s/1gf0ucuR,離線包有5個(gè):
 
第一個(gè)是onlyoffice_load.tar,替換好了(le)字體,修正了(le)幾個(gè)翻譯錯誤,是用(yòng)commit命令生成新的(de)包後save導出的(de)。
 
第二個(gè)是onlyoffice-20180220-import.tar,這(zhè)個(gè)包雖然裏面已經替換好了(le)字體,但導入後暫時(shí)不知道怎樣運行起來(lái)。
 
第三個(gè)是onlyofficedocumentserver-load.tar這(zhè)個(gè)包就是原生态的(de)pull下(xià)來(lái)的(de)鏡像打的(de)包,用(yòng)save命令打的(de)包,用(yòng)loader命令導入,然後運行,需要替換字體。
 
第四個(gè)是fei3onlyoffice.tar,這(zhè)個(gè)包是用(yòng)5.1.5版做(zuò)成的(de),添加了(le)字體,修改了(le)幾處界面翻譯錯誤,修改了(le)。
 
第五個(gè)是fei5onlyoffice5.3.4.tar,這(zhè)個(gè)包是用(yòng)5.1.5版做(zuò)成的(de),添加了(le)字體……
 
第六個(gè)是fei6onlyoffice5.4.2.tar,這(zhè)個(gè)包解決了(le)中文字體名稱問題。
 
應該下(xià)載第六個(gè)文件,放到docker命令行對(duì)應的(de)目錄下(xià),方便運行命令導入(load)這(zhè)個(gè)鏡像。一般在c盤-users-administrator或者其他(tā)用(yòng)戶名下(xià)(在docker命令行裏輸入dir,看看當前目錄下(xià)有哪些文件,一般就能找到這(zhè)個(gè)目錄了(le)。)
 
4、啓動——映射至9000端口(運行鏡像後變成容器)
 
docker run -i -t -d -p 9000:80 onlyoffice/documentserver
 
如果是導入的(de)鏡像,上面的(de)命令中onlyoffice/documentserver用(yòng)鏡像id代替,查閱鏡像用(yòng)docker images命令。
 
5、替換 添加容器onlyofficedocument server的(de)字體
 
在網盤中下(xià)載字體winfont壓縮包。字體來(lái)源于https://github.com/neroxps/Docker-Only-Office-Chinese-font和(hé)win10系統,win10系統提取中文字體的(de)方法:控制面闆——搜字體——查看安裝的(de)字體——再在搜索欄輸入中文 2個(gè)字,這(zhè)些就是需要的(de)中文字體了(le)。有些體積大(dà)的(de)字體就不要放了(le),免得(de)OO啓動太慢(màn)。
 
新版自5.1.2已經以來(lái)支持中文字體了(le),所以不用(yòng)删除它自帶的(de)字體了(le)。但隻有文泉驿的(de)3種字體,可(kě)以根據下(xià)文再增加一些字體。
 
//進入容器(運行的(de)鏡像)内,删除/usr/share/fonts下(xià)除truetype外其他(tā)文件和(hé)文件夾
 
$ docker exec -it 38e27 /bin/bash
 
root@38e27823ae92:/#dir或者ls –al
 
root@6dfa5705aaef:~#cd /usr/share/fonts/
 
root@6dfa5705aaef:/usr/share/fonts#ls
 
truetype  X11
 
//删除文件夾X11
 
root@6dfa5705aaef:/usr/share/fonts#rm -R dir X11
 
rm:cannot remove dir: No such file or directory
 
root@6dfa5705aaef:/usr/share/fonts#ls
 
truetype
 
root@6dfa5705aaef:/usr/share/fonts#cd truetype
 
root@6dfa5705aaef:/usr/share/fonts/truetype#ls -al
 
total462392
 
drwxr-xr-x11 root   root       4096 Feb 19 04:17 .
 
………………
 
//删除trutype文件夾下(xià)所有文件,除了(le)custome文件夾外
 
root@6dfa5705aaef:/usr/share/fonts/truetype#rm -R dir *.*
 
rm:cannot remove dir: No such file or directory
 
root@6dfa5705aaef:/usr/share/fonts/truetype#rm -R dir *
 
rm:cannot remove dir: No such file or directory
 
rm:cannot remove custom: Device or resource busy
 
root@6dfa5705aaef:/usr/share/fonts/truetype#ls
 
custom
 
root@6dfa5705aaef:/usr/share/fonts/truetype#ls -al
 
total 12
 
drwxr-xr-x10 root root 4096 Feb 19 10:14 .
 
drwxr-xr-x  6 root root 4096 Feb 19 10:12 ..
 
drwxr-xr-x  2 root root 4096 Feb 19 03:48 custom
 
……
 
root@6dfa5705aaef:/usr/share/fonts/truetype#exit
 
exit
 
Administrator@604TFALNDKDKJWCMINGW64 ~/winfont
 
//将當前文件夾C:\Users\Administrator\下(xià)的(de)winfont文件夾内的(de)字體全部拷貝到容器的(de)文件夾/usr/share/fonts/truetype中
 
字體文件在我的(de)網盤中:https://pan.baidu.com/s/1gf0ucuR
 
$ tar -cv * | docker exec -i 6df tar x -C/usr/share/fonts/truetype
 
kaiu.ttf
 
msjh.ttc
 
msjhbd.ttc
 
msjhl.ttc
 
msyh.ttc
 
msyh.ttf
 
msyhbd.ttc
 
msyhl.ttc
 
simfang.ttf
 
simhei.ttf
 
simkai.ttf
 
simli.ttf
 
simsun.ttc
 
simsunb.ttf
 
simyou.ttf
 
……
 
Administrator@604TFALNDKDKJWCMINGW64 ~/winfont
 
//進入容器内
 
$ docker exec -it 6df /bin/bash
 
root@6dfa5705aaef:/#sudo mkfontscale
 
root@6dfa5705aaef:/#sudo mkfontdir
 
root@6dfa5705aaef:/#sudo fc-cache -fv
 
/usr/share/fonts:caching, new cache contents: 0 fonts, 1 dirs
 
…………
 
fc-cache:succeeded
 
root@6dfa5705aaef:/#exit
 
exit
 
//退出容器
 
Administrator@604TFALNDKDKJWCMINGW64 ~/winfont
 
$ docker exec 6df /usr/bin/documentserver-generate-allfonts.sh
 
GeneratingAllFonts.js, please wait...Done
 
onlyoffice-documentserver:docservice:stopped
 
onlyoffice-documentserver:docservice:started
 
onlyoffice-documentserver:converter:stopped
 
onlyoffice-documentserver:converter:started
 
 如果機器重啓後,斷網情況下(xià)啓動docker,此時(shí)不需要再運行不要用(yòng)docker run命令,要用(yòng)docker start 容器id,可(kě)以直接調用(yòng)OO服務。
 
完成後記得(de)清理(lǐ)chrome浏覽器緩存,否則還(hái)是亂碼新導入的(de)字體不會生效。chrome浏覽器:設置—高(gāo)級—隐私設置和(hé)安全性—清除浏覽數據—時(shí)間範圍選擇時(shí)間不限……
 
具體替換字體的(de)命令見下(xià)圖,很詳細具體了(le)。
 
修正excel、word、ppt翻譯錯誤:
 
Administrator@604TFALNDKDKJWC MINGW64 ~/zh
 
$ docker exec -it 6df /bin/bash
 
root@6dfa5705aaef:/#cd /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/
 
root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#ls
 
cs.json en.json  fr.json  ja.json nl.json  pt.json  sk.json tr.json  vi.json
 
de.json es.json  it.json  lv.json pl.json  ru.json  sl.json uk.json  zh.json
 
root@6dfa5705aaef:/var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale#exit
 
exit
 
Administrator@604TFALNDKDKJWC MINGW64 ~/zh
 
$ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/spreadsheeteditor/main/locale/
 
zh.json
 
word的(de)翻譯文件/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/
 
$ tar-cv zh.json | docker exec -i 6df tar x -C /var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/locale/
 
6、還(hái)可(kě)以替換幫助文件爲中文……
 
/var/www/onlyoffice/documentserver/apps/presentationeditor/main/resources/help/zh/Contents.json
 
/var/www/onlyoffice/documentserver/apps/spreadsheeteditor/main/resources/help/zh/Contents.json
 
/var/www/onlyoffice/documentserver/apps/documenteditor/main/resources/help/zh/Contents.json
 
7、連接數20個(gè)的(de)限制
 
做(zuò)完以上工作,你可(kě)以将修改後的(de)容器保存爲新的(de)鏡像,然後save導出後給其他(tā)機器用(yòng)。
 
docker commit将修改後鏡像保存到本地,參數是容器ID,新名字:版本标志
 
#docker ps -all
 
CONTAINER ID IMAGE   COMMAND    CREATED       STATUS          PORTS   NAMES
 
b3426410ff43 centos:7 "/bin/bash" 4 minutes ago   Exited (0) 4 seconds ago     centos7ssh
 
#docker commit b59myimage/centos7-ssh
 
下(xià)次可(kě)以輸入剛保存的(de)名字啓動修改了(le)字體的(de)鏡像了(le)。
 
導出鏡像——一定要導出保存,否則docker經常自己升級,容器啊,鏡像啊,都會丢失,追悔莫及。
 
所以,啓動docker的(de)時(shí)候要關閉網絡,否則它自動升級。等docker完全啓動後,再打開網絡。
 
docker save -o onlyoffice.tar onlyoffice/documentserver
 
6、運行和(hé)修改文檔管理(lǐ)平台EngineerCMS
 
直接去https://github.com/3xxx/EngineerCMS查看源碼
 
直接去https://github.com/3xxx/EngineerCMS/releases下(xià)載編譯好的(de)二進制文件
 
或者直接去https://pan.baidu.com/s/1gf0ucuR下(xià)載軟件包,直接運行engineercms即可(kě)用(yòng)浏覽器chrome訪問127.0.0.1了(le),不用(yòng)配置環境,因爲它是golang語言編寫的(de)跨平台的(de)可(kě)執行文件。如果運行出現閃退,則在conf文件夾下(xià)更改app.conf文件中的(de)端口号,或者修改runmode爲prod模式。
 
(1)運行前要替換EngineerCMS\views\onlyoffice\onlyoffice.tpl中的(de)3處IP,如果engineercms和(hé)docker安裝在同一個(gè)電腦(nǎo)上,那麽三個(gè)IP相同,見下(xià)面的(de)6.1節。
 
(2)docker toolbox訪問前要按照(zhào)下(xià)文中第7節中的(de)方法設置宿主機(安裝docker的(de)電腦(nǎo))virtualbox的(de)端口轉發。win10的(de)windows docker不用(yòng)設置端口轉發了(le)。
 
有問題聯系我QQ6277979,微信同号
 
人(rén)才港www.rcg.cn
 
6.1協作編輯頁面要根據你的(de)情況進行修改(ip地址、中文界面)
 
一定要用(yòng)ip,不要用(yòng)localhost、127.0.0.1之類的(de)代替本機ip,本機調試要用(yòng)192.168.99.100
 
注意:下(xià)文隻是标識出需要修改的(de)3處ip位置,代碼并不能直接拷貝過去運行。請在engineercms文件夾中對(duì)應的(de)原始文件上進行修改。
 
EngineerCMS\views\onlyoffice\onlyoffice.tpl:
 
 
 
   
 
 
   
    <script type="text/javascript"src="http://安裝docker電腦(nǎo)的(de)ip:9000/web-apps/apps/api/documents/api.js"></script>
    <scripttype="text/javascript">
        //alert({{.Doc.FileName}});
       window.docEditor = new DocsAPI.DocEditor("placeholder",
            {
               "document": {
                   "fileType": "{{.fileType}}",
                   "key": "{{.Key}}",//"Khirz6zTPdfd7"
                   "title": "{{.Doc.FileName}}",
                   "url": "http://運行engineercms電腦(nǎo)的(de)ip:端口号/attachment/onlyoffice/{{.Doc.FileName}}"
                },
               "documentType": "{{.documentType}}",
               "editorConfig": {
                   "callbackUrl": "http://運行engineercms電腦(nǎo)的(de)ip:端口号/url-to-callback?id={{.Doc.Id}}",
                   "user": {
                       "id": "{{.Uid}}",
                       "name": "{{.Uname}}"
                   },
                   "lang": "zh-CN",//"en-US",菜單中文化(huà)
                },
               "height": "100%",
               "width": "100%"
            });
   </script>
 
 


7、端口轉發

docker pull onlyoffice/documentserver
docker run --name onlyoffice --restart always -i -t -d -p 9000:80 onlyoffice/documentserver
 
-d:後台運行 
 
-p 9000:80 :端口映射,前一個(gè)9000代表虛拟機的(de)端口,後一個(gè)80代表docker容器的(de)端口 
 
命令執行完成後,可(kě)以通(tōng)過http://192.168.99.100:9000訪問Document服務的(de)歡迎界面,提示:Document Server is running表示正常
 
這(zhè)時(shí)隻能在你自己的(de)機器上訪問,同一個(gè)局域網中的(de)其他(tā)機器是不能訪問的(de),原因是:Windows上的(de)docker是運行在一個(gè)虛拟機裏面的(de),看官方給的(de)圖: 
 
 要讓别的(de)機器也(yě)訪問到,需要配置一下(xià)虛拟機。設置如下(xià): 
 
雙擊運行安裝docker toolbox生成的(de)Oracle VMVirtualBox。
 
點擊端口轉發:下(xià)圖中主機IP爲安裝docker的(de)電腦(nǎo)IP,主機端口爲9000,子系統IP爲192.168.99.100,子系統端口爲9000。
 
這(zhè)樣配置完成後,别的(de)機器也(yě)可(kě)以訪問docker 容器了(le)。
 
 
 
下(xià)文的(de)開發僅供興趣參考。
 
8、二次開發EngineerCMS
 
8.1 協作編輯頁面
 
 
 
 
   
 
 
   
    <script type="text/javascript"src="http://安裝docker電腦(nǎo)的(de)ip:9000/web-apps/apps/api/documents/api.js"></script>
    <scripttype="text/javascript">
        //alert({{.Doc.FileName}});
        window.docEditor = newDocsAPI.DocEditor("placeholder",
            {
               "document": {
                   "fileType": "{{.fileType}}",
                   "key": "{{.Key}}",//"Khirz6zTPdfd7"
                   "title": "{{.Doc.FileName}}",
                   "url": "http://運行engineercms電腦(nǎo)的(de)ip:端口号/attachment/onlyoffice/{{.Doc.FileName}}"
                },
                "documentType":"{{.documentType}}",
               "editorConfig": {
                   "callbackUrl": "http:// 運行engineercms電腦(nǎo)的(de)ip:端口号/url-to-callback?id={{.Doc.Id}}",
 
                   "user": {
                       "id": "{{.Uid}}",
                       "name": "{{.Uname}}"
                   },
                   "lang": "zh-CN",//"en-US",
                },
               "height": "100%",
               "width": "100%"
            });
   </script>
 

 

8.2 協作頁面的(de)保存和(hé)回調——下(xià)面是go語言,官方文檔有phpjavanode.js等。

 
type Callback struct {
   Key         string   `json:"key"`
   Status      int     `json:"status"`
   Url         string   `json:"url"`
   Changesurl  string  `json:"changesurl"`
   History     history `json:"history"`
   Users       []string `json:"users"`
   Actions     []action `json:"actions"`
   Lastsave    string  `json:"lastsave"`
   Notmodifiedbool     `json:"notmodified"`
}
type action struct {
   Type   int
   userid string
}
type history struct {
 changes       []change
   serverVersionstring
}
type change struct {
   created string
   User    User1
}
 
type User1 struct {
   id   string
   name string
}
 
//關閉浏覽器标簽後獲取最新文檔保存到文件夾
func (c *OnlyController) UrltoCallback() {
   // pk1 :=c.Ctx.Input.RequestBody
   id :=c.Input().Get("id")
   //pid轉成64爲
   idNum, err :=strconv.ParseInt(id, 10, 64)
   if err != nil {
      beego.Error(err)
   }
   //根據附件id取得(de)附件的(de)prodid,路徑
   onlyattachment,err := models.GetOnlyAttachbyId(idNum)
   if err != nil {
      beego.Error(err)
   }
 
   var callbackCallback
   json.Unmarshal(c.Ctx.Input.RequestBody,&callback)
   ifcallback.Status == 1 || callback.Status == 4 {
      c.Data["json"]= map[string]interface{}{"error": 0}
      c.ServeJSON()
   } else ifcallback.Status == 2 {
      resp, err :=http.Get(callback.Url)
      if err != nil{
         beego.Error(err)
      }
      body, err :=ioutil.ReadAll(resp.Body)
     if err != nil{
         beego.Error(err)
     }
      deferresp.Body.Close()
      if err != nil{
         beego.Error(err)
      }
      f, err :=os.create(".\\attachment\\onlyoffice\\"+onlyattachment.FileName)
      if err != nil{
         beego.Error(err)
      }
      deferf.Close()
      _, err =f.Write(body)
      if err != nil{
         beego.Error(err)
      } else {
         err =models.UpdateOnlyAttachment(idNum)
         if err !=nil {
            beego.Error(err)
         }
      }
      c.Data["json"]= map[string]interface{}{"error": 0}
      c.ServeJSON()
   }
}
 


engineercms的(de)文檔管理(lǐ): 
 
大(dà)神解讀在Windows或Liunx系統上使用(yòng)ONLYOFFICE協作編輯文檔開發

word文件協作效果:

大(dà)神解讀在Windows或Liunx系統上使用(yòng)ONLYOFFICE協作編輯文檔開發



PowerPoint文檔演示:

大(dà)神解讀在Windows或Liunx系統上使用(yòng)ONLYOFFICE協作編輯文檔開發


Excel表格在線編輯演示:

大(dà)神解讀在Windows或Liunx系統上使用(yòng)ONLYOFFICE協作編輯文檔開發

分(fēn)享到:

相關文章(zhāng)
關于深網

“贛州深網www.gzsw.net.cn”是贛州阿桃網絡科技有限公司所擁有的(de)互聯網服務品牌。公司主要緻力于向廣大(dà)用(yòng)戶提供優質的(de)互聯網基礎服務。公司擁有一支由資深技術專家、優秀的(de)管理(lǐ)、服務人(rén)才組成的(de)運營團隊,有著(zhe)多(duō)年的(de)互聯網運營服務從業經驗。公司先後與國内多(duō)家知名互聯服務企業合作,取得(de)了(le)矚目的(de)成績,資源、技術優勢得(de)到進一步提升。深網爲企業、政府、組織提供網站開發設計、域名注冊、網站主機、網站SEO優化(huà)、微站、公衆号平台、小程序開發等。 聯系電話(huà):137-6633-3304

案例分(fēn)享
立即咨詢