cao死我好湿好紧好爽动态视屏|精选久久久久久久久久|中文无码精品一区二区三区四季|AAA国语精品刺激对白视频|

當前位置:首頁 > 網站建設 > 正文內容

htmljson編輯器(html代碼編輯)

網站建設6個月前 (07-02)414

一、onlyoffice是什么

ONLYOFFICE 是一個開源的辦公套件,適合多人在線協(xié)作。由總部位于總部在拉脫維亞的 IT 公司Acensio System SIA 開發(fā)。它提供在線協(xié)作文檔編輯器(包括文檔、電子表格、演示文稿和表單),適用于 Windows、Linux、macOS、Android 和 iOS 系統(tǒng)。也可以將 ONLYOFFICE 集成到學習管理平臺、同步與共享平臺、企業(yè)管理系統(tǒng)等,甚至集成到你自己的應用程序中。ONLYOFFICE同微軟office、金山WPS的功能相似,可以看成是同一類軟件產品,但ONLYOFFICE的源代碼是開源的。另外,表單Forms是ONLYOFFICE 的一大特色功能,能直接在編輯器內創(chuàng)建表單,可以實現(xiàn)類似于web表單功能和精細化權限控制。

ONLYOFFICE比MS OFFICE、WPS更強大的功能就是插件機制,支持安裝豐富的插件,比如OCR、ChatGPT、自動翻譯、視頻通話、文本轉換、生成參考文獻、拼寫檢查等,大部分插件都免費使用的,可以在線安裝。

ONLYOFFICE支持集成ChatGPT插件。ChatGPT是由人工智能研究實驗室OpenAI在2022年11月30日發(fā)布的全新聊天機器人模型,一款技術驅動的自然語言處理工具。它能夠通過學習和理解人類的語言來進行對話,還能根據(jù)聊天的上下文進行互動,真正像人類一樣來聊天交流,甚至能完成撰寫郵件、視頻腳本、文案、翻譯、代碼等任務。在插件管理器中,找到 ChatGPT 并點擊安裝。

展開全文

運行ChatGPT,輸入對應的密鑰(需要通過科學上網,在OpenAI官網?(opens new window)中獲取API Key,目前國內用戶無法注冊獲取。 ),然后就在可以在onlyoffice中使用ChatGPT了。

ONLYOFFICE的插件機制為開發(fā)者提供了極大靈活性,開發(fā)者可以通過底層API接口自定義插件實現(xiàn)業(yè)務上復雜需求,比如:協(xié)同辦公OA項目收發(fā)文的正文創(chuàng)建、編輯和下載;合同管理項目中合同協(xié)議的自動生成等。云程低代碼開發(fā)平臺(http://www.yunchengxc.com)對開源版ONLYOFFICE進行了集成整合,可以表單和流程中直接使用office文檔控件,并可配置文檔模版路徑,表單字段值自動帶入,控制文檔是否可編輯,文檔是否只讀,是否加載水印,是否可以打印,是否可以另存下載,是否需要留痕,是否顯示留痕等權限。

二、項目如何集成onlyoffice

在springboot+vue項目中集成開源版onlyoffice組件,如果是私有化部署的項目,首先需要部署onlyoffice后端服務,然后使用onlyoffice的前端API進行web集成調用。

1、安裝onlyoffice后端服務

onlyoffice后端服務安裝依賴RabbitMQ、Redis、PostgreSQL這些服務,支持在windows、Linux下安裝,也支持docker安裝。安裝方法這里不再展開描述,詳細請參考官方安裝文檔:https://www.onlyoffice.org.cn/guide/docker-onlyoffice.html

2、Web前端集成onlyoffice

onlyoffice提供了基于Javascript的API接口,https://documentserver/web-apps/apps/api/documents/api.js

Web前端調用示例如下:

!DOCTYPE htmlhtml

head

meta charset="UTF-8"

titleONLYOFFICE使用方法/title

!-- 引入外部JavaScript文件 --

script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"/script

/head

body

div id="placeholder"/div

script language="javascript" type="text/javascript"

var docEditor = new DocsAPI.DocEditor("placeholder",{

"document": {

"fileType": "docx",

"key": "Khirz6zTPdfd7",

"title": "Example Document Title.docx",

"url": "https://example.com/url-to-example-document.docx"

},

"documentType": "word",

"editorConfig": {

"callbackUrl": "https://example.com/url-to-callback.ashx"

}

});

/script

/body/html

另外,onlyoffice還提供了vue、React 、Angular 語言的組件,可以在您的項目中從 npm 安裝 ONLYOFFICE 文檔相關組件

npm install --save @onlyoffice/document-editor-vue

npm install --save @onlyoffice/document-editor-react

npm install --save @onlyoffice/document-editor-angular

3、onlyoffice關鍵功能的API接口

業(yè)務系統(tǒng)中集成onlyoffice,常常涉及到的功能有:模版路徑配置,表單字段自動帶值,文檔是否可編輯,文檔是否只讀,是否加載水印,是否可以打印,是否可以另存下載,是否需要留痕,是否顯示留痕等權限,onlyoffice分別提供了相關的API接口。

請參考官方文檔:https://api.onlyoffice.com

4、自定義插件實現(xiàn)表單字段自動帶值

在OA電子公文、合同管理等業(yè)務系統(tǒng)中,常常需要把web表單字段的值自動帶入到word文檔中,比如:合同編號、合同標題等字段,如果使用微軟office,可以使用窗體域結合vba編程,實現(xiàn)字段值自動同步。Onlyoffice 提供了強大的插件機制,可以自定義插件插件實現(xiàn)表單字段值自動帶入功能。

我們先來看下onlyoffice插件目錄結構:

├── config.json # 插件配置文件

├── icon.png # 插件圖標

├── index.html # 插件入口文件

├── interface.js # 插件功能實現(xiàn)

├── plugins.js # 插件主程序入口文件

└── translations # 國際化配置

└── zh-CN.json

插件結構非常簡單,里面主要是 config.json、index.html、plugins.js 和 interface.js。需要保證config.json、index.html、interface.js、plugins.js這四個文件在同一個文件夾當中, 然后將文件夾放入到容器內的/var/www/onlyoffice/documentserver/sdkjs-plugins目錄下, 重啟即可。

# config.json參數(shù)說明

{

"guid": "asc.{11700c35-1fdb-4e37-9edb-b31637139601}",

"variations": [

{

"url": "index.html",

"EditorsSupport": ["word", "cell", "slide"],

"isSystem": true,

"initDataType": "none",

"initData": "",

"buttons": [],

"events" : [

"onClick"

]

}

]

}

- guid:插件的唯一值, 可自行更改, 但格式必須是asc.{}

- url: 在本插件中該html的作用主要是用來加載js

- EditorsSupport:聲明該插件在word、excel、ppt可用

- isSystem:設置該值為true后在菜單欄中不顯示該插件, 后臺自動運行該插件

- events:聲明事件

其他參數(shù)請看官方文檔:https://api.onlyoffice.com/plugin/config

plugins.js一般在onlyoffice容器內的/var/www/onlyoffice/documentserver/sdkjs-plugins/v1目錄下, 可以直接從里邊拿過來復用。

interface.js就是插件功能的邏輯了,以下是interface.js代碼,主要實現(xiàn)了表單字段自動帶值功能。

(function(window, undefined) {

var AscPlugin = window.Asc.plugin;

var executeMethod = function(method, arg) {

return window.Asc.plugin.executeMethod(method, arg);

};

AscPlugin.init = function(initData) {

// 避免綁定多次

if(!window['boundInternalcommand']){

// 該事件監(jiān)聽似乎在7.x版本后就失效了 我還沒嘗試過

window.parent.Common.Gateway.on('internalcommand', function(args) {

// 如果需要自定義插件的功能, 只需要在這個方法里接受參數(shù)寫邏輯就行

var data = args.data;

var command = args.command;

//設置表單字段值

if(command=="SetFormValue"){

window.Asc.plugin.executeMethod ("GetFormsByTag", [data[0]], function (res) {

this.Asc.plugin.executeMethod ("SetFormValue", [res[0].InternalId,data[1]]);

});

}else if(command=="GetFileToDownload"){//獲取文件

window.Asc.plugin.executeMethod ("GetFileToDownload", Array.isArray(data) ? data : [data], function(res){

var obj = {

"cmd":"GetFileToDownload",

"url":res

}

window.parent.parent.postMessage(JSON.stringify(obj), "*");

});

}else{

(Array.isArray(data) ? data : [data]).forEach(function(arg, index) {

// 6.x版本中的api不支持批量的操作, 只能單個插入, 這里需要一個定時器才能做到批量的插入, 否則會報錯或者什么都不插入

setTimeout(function() {

executeMethod(command, [arg]);

}, 100 * index);

});

htmljson編輯器(html代碼編輯)

}

});

window['boundInternalcommand'] = true;

}

// 在插件彈出窗外釋放鼠標時觸發(fā)

AscPlugin.onExternalMouseUp = function() {

var event = document.createEvent('MouseEvents');

event.initMouseEvent('mouseup', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);

document.dispatchEvent(event);

};

AscPlugin.button = function(id) {

// 關閉插件彈出窗觸發(fā)

if (id === -1) {

this.executeCommand('close', '');

}

};

};

})(window, undefined);

核心代碼:

window.Asc.plugin.executeMethod ("GetFormsByTag", [data[0]], function (res) {

this.Asc.plugin.executeMethod ("SetFormValue", [res[0].InternalId,data[1]]);

});

GetFormsByTag:根據(jù)標簽獲取表單控件

SetFormValue:設置表單控件值

插件調用:

this.docEditor.serviceCommand("SetFormValue", [tagName,value]);

最后實現(xiàn)的效果如下:

掃描二維碼推送至手機訪問。

版權聲明:本文由飛速云SEO網絡優(yōu)化推廣發(fā)布,如需轉載請注明出處。

本文鏈接:http://www.smallwaterjetsystem.com/post/117764.html

分享給朋友:

“htmljson編輯器(html代碼編輯)” 的相關文章

如何制作免費網站(怎么做網站免費的)

如何制作免費網站(怎么做網站免費的)

本篇文章給大家談談如何制作免費網站,以及怎么做網站免費的對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、免費的個人網站怎么做 2、自己如何制作一個網站 3、如何免費自己建網站? 免費的個人網站怎么做 免費的個人網站做法如下:1、在百度上輸入“自助建站”進行搜索,...

包含長春網站制作的詞條

包含長春網站制作的詞條

本篇文章給大家談談長春網站制作,以及對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、長春當?shù)鼐W站建設哪家做的好? 2、長春誰家做網站好 3、長春做網站哪家好? 4、長春做網站最好的公司有哪些? 5、長春哪里能做網站 6、長春這邊建網站是什么價格? 長...

seo網站排名優(yōu)化軟件(seo快速排名網站優(yōu)化)

seo網站排名優(yōu)化軟件(seo快速排名網站優(yōu)化)

本篇文章給大家談談seo網站排名優(yōu)化軟件,以及seo快速排名網站優(yōu)化對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、seo排名優(yōu)化工具推薦 2、網站優(yōu)化所需要的SEO工具有哪些 3、網站優(yōu)化排名軟件 seo排名優(yōu)化工具推薦 seo排名優(yōu)化工具推薦:1.網站日志利...

企業(yè)vi設計都包括什么(公司vi設計是什么)

企業(yè)vi設計都包括什么(公司vi設計是什么)

今天給各位分享企業(yè)vi設計都包括什么的知識,其中也會對公司vi設計是什么進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、企業(yè)VI設計包括哪些部分 2、VI設計包括哪些內容? 3、企業(yè)VI設計全套方案包括哪些內容 4、vi設計包括哪些內容都有哪部分...

超市宣傳單模板怎么做(超市商品宣傳單制作教學)

超市宣傳單模板怎么做(超市商品宣傳單制作教學)

今天給各位分享超市宣傳單模板怎么做的知識,其中也會對超市商品宣傳單制作教學進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、自己怎么做宣傳單廣告? 2、超市發(fā)的傳單怎么做的 3、請問如何做超市的DM單? 4、有哪位高手幫幫忙。知道超市宣傳單怎么。制...

網頁設計王者榮耀頁面代碼(Html制作王者榮耀官網導航條)

網頁設計王者榮耀頁面代碼(Html制作王者榮耀官網導航條)

今天給各位分享網頁設計王者榮耀頁面代碼的知識,其中也會對Html制作王者榮耀官網導航條進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、王者榮耀id空白代碼 2、王者榮耀空白代碼iOS 3、王者榮耀空白名字代碼怎么設置? 4、王者榮耀更新陣容代碼...