轉(zhuǎn)帖|其它|編輯:陳津勇|2019-09-29 10:28:26.240|閱讀 534 次
概述:本文主要介紹文檔管理控件WebOffice的產(chǎn)品架構(gòu)原理。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
WebOffice是流行于國(guó)內(nèi)市場(chǎng)的文檔管理控件。20多年來,經(jīng)華爾太科技研發(fā)團(tuán)隊(duì)不斷迭代升級(jí),WebOffice已更新至2019版本,最新版永久突破谷歌Chrome、火狐FireFox、EDGE等瀏覽器的插件限制,同時(shí)支持國(guó)內(nèi)外所有最新版瀏覽器,支持HTTP/HTTPS打開保存文件,是在線編輯Office文檔的首選控件!
本文將為大家介紹WebOffice控件的產(chǎn)品架構(gòu)原理,請(qǐng)繼續(xù)往下閱讀↓
1、瀏覽器通過ocx.js(或webofficeocx.js)文件加載控件,在ocx.js代碼中的獲取控件ID,一般名稱為:WebOffice,從而得到JS編控的控件對(duì)象,具對(duì)代碼表示如:
document.getElementById("WebOffice")
2、在網(wǎng)頁(yè)body標(biāo)簽onload代碼中加入JS,用于設(shè)置控件打開或新建一個(gè)WORD、EXCEL等文檔,在打開文檔考慮網(wǎng)絡(luò)速度等原因最好在控件打開文檔前設(shè)置一段JS代碼用于延時(shí)加載控件類似代碼如下:
WebOffice = document.getElementById("WebOffice"); if (WebOffice !='') { //等待控件初始化完畢,時(shí)間長(zhǎng)短可以根據(jù)網(wǎng)絡(luò)速度設(shè)定。 setTimeout('openfile()',100); }
3、接下來即可執(zhí)行控件的打開或新建方法,在新建文檔時(shí)建議統(tǒng)一用DOC、XLS、PPT格式,實(shí)現(xiàn)OFFICE2003與高版本的OFFICE的DOCX、XLSX,PPTX格式兼容。類似代碼如下(注意參數(shù)格式):
document.getElementById("WebOffice").Open(strOpenUrl,true,"Word.Document","",""); document.getElementById("WebOffice").Open(strOpenUrl,true,"Excel.Sheet","",""); document.getElementById("WebOffice").Open(strOpenUrl,true,"PowerPoint.Show","",""); document.getElementById("WebOffice").CreateNew("Excel.Sheet.8"); document.getElementById("WebOffice").CreateNew("PowerPoint.Show"); document.getElementById("WebOffice").CreateNew("Word.Document");
新建文檔時(shí)也可以采用模板的方式新建文檔,方法就是打開一個(gè)現(xiàn)成的模板文件即可,類似代碼如下:
strRoot=//www.aaa.com/; document.getElementById("WebOffice").Open(strRoot+'temp/excel.xls',true,"Excel.Sheet","","");
4、接下來控件會(huì)觸發(fā)加載事件,執(zhí)行上面Open或CreatNew方法,當(dāng)打開文檔時(shí),控件實(shí)現(xiàn)GET請(qǐng)求到指定的URL下載Word或Excel文檔,URL格式類似如下://www.aaa.com/writefile.php?id=21
5、Web服務(wù)器收到控件發(fā)來的URL請(qǐng)求后,執(zhí)行如上述Writefile.php代碼腳本,代碼腳本執(zhí)行相應(yīng)動(dòng)作,依參數(shù)ID值到服務(wù)器數(shù)據(jù)庫(kù)或硬盤對(duì)應(yīng)位置找到OFFICE文檔,以二進(jìn)制格式讀取WORD或Excel文檔,返回給WEB服務(wù)器。
6、WEB服務(wù)器得到OFFICE文檔的二進(jìn)制數(shù)據(jù)流后,通過網(wǎng)絡(luò)傳遞給控件接收,當(dāng)控件接收到完整的WORD或EXCEL等文檔后,調(diào)用控件內(nèi)部方法,實(shí)現(xiàn)打開WORD文檔并顯示到前端Web頁(yè)面。
7、當(dāng)用戶編輯好文檔后,點(diǎn)擊網(wǎng)頁(yè)上的保存按鈕,網(wǎng)頁(yè)上的保存按鈕通過JS或Vbscript調(diào)用控件的SAVE方法保存到服務(wù)器指定位置,類似代碼如下:
strURL=”//www.aaa.com/webofficephp/php/uploadedit.php?oper=edit&flsid=956.doc&flag=1” document.getElementById("WebOffice").Save(strURL);
上述代碼重點(diǎn)是URL相關(guān)的腳本代碼和參數(shù)設(shè)置,如上述代碼參數(shù)是:oper代碼是修改還是新建保存 ,flsid是文檔在服務(wù)器數(shù)據(jù)庫(kù)(或硬盤)對(duì)應(yīng)位置的ID號(hào),F(xiàn)LAG是文檔類型,“1”表示doc格式,“2”表示xls格式,“3”表示ppt格式,“11”表示DOCX格式,“12”表示XLS格式,“13”表示pptx格式等等,具體方式可以技術(shù)開發(fā)人員依自身需求而定。上述不是必須采用,但建議用戶使用上述FLAG標(biāo)記方式,用于記住文檔格式,供控件以后打開時(shí)設(shè)置對(duì)應(yīng)參數(shù)。
想要獲得 WebOffice 更多資源或正版授權(quán)的伙伴,
掃描關(guān)注慧聚IT微信公眾號(hào),及時(shí)獲取最新動(dòng)態(tài)及最新資訊
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: