简单使用 HTML 集成 OnlyOffice
发布于: 46 分钟前
前言
ONLYOFFICE,简单地说,就是将 Word 、Excel、PPT 3 大办公套件搬到了云端,只需要一个浏览器即可以在线使用 Office 的各种功能。
前提条件
确保相应的 js 文件可以被正常访问
https://documentserver/web-apps/apps/api/documents/api.js
复制代码
快速入门
新建 html 文档,引入 api.js
<script type="text/javascript" src="https://documentserver/web-apps/apps/api/documents/api.js"></script>
复制代码
添加 div 元素
<div id="placeholder"></div>
复制代码
可变参数的传递
var docEditor = new DocsAPI.DocEditor("placeholder", config);
复制代码
config = {
"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"
}
};
复制代码
完整示例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ONLYOFFICE使用方法</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 文档服务 API 文档,大体上可以分为以下几个部分:
config
document:文档相关
info:文档信息(
标题
、地址
、类型
)permissions:文档权限(
只读
、编辑
、下载
)editorConfig:编辑器相关
customization:自定义
embedded:嵌入式
plugins:插件
events:事件
配置参数进阶示例:
config = {
"document": {
"fileType": "docx",
"info": {
"favorite": true,
"folder": "Example Files",
"owner": "John Smith",
"sharingSettings": [
{
"permissions": "Full Access",
"user": "John Smith"
},
{
"isLink": true,
"permissions": "Read Only",
"user": "External link"
},
...
],
"uploaded": "2010-07-07 3:46 PM"
},
"key": "Khirz6zTPdfd7",
"permissions": {
"comment": true,
"copy": true,
"deleteCommentAuthorOnly": false,
"download": true,
"edit": true,
"editCommentAuthorOnly": false,
"fillForms": true,
"modifyContentControl": true,
"modifyFilter": true,
"print": true,
"review": true,
"reviewGroups": ["Group1", "Group2", ""]
},
"title": "Example Document Title.docx",
"url": "https://example.com/url-to-example-document.docx"
},
"documentType": "word",
"editorConfig": {
"actionLink": ACTION_DATA,
"callbackUrl": "https://example.com/url-to-callback.ashx",
"createUrl": "https://example.com/url-to-create-document/",
"customization": {
"anonymous": {
"request": true,
"label": "Guest"
},
"autosave": true,
"chat": true,
"comments": true,
"compactHeader": false,
"compactToolbar": false,
"compatibleFeatures": false,
"customer": {
"address": "My City, 123a-45",
"info": "Some additional information",
"logo": "https://example.com/logo-big.png",
"mail": "john@example.com",
"name": "John Smith and Co.",
"www": "example.com"
},
"feedback": {
"url": "https://example.com",
"visible": true
},
"forcesave": false,
"goback": {
"blank": true,
"requestClose": false,
"text": "Open file location",
"url": "https://example.com"
},
"help": true,
"hideRightMenu": false,
"hideRulers": false,
"logo": {
"image": "https://example.com/logo.png",
"imageEmbedded": "https://example.com/logo_em.png",
"url": "https://example.com"
},
"macros": true,
"macrosMode": "warn",
"mentionShare": true,
"plugins": true,
"reviewDisplay": "original",
"showReviewChanges": false,
"spellcheck": true,
"toolbarHideFileName": false,
"toolbarNoTabs": false,
"trackChanges": false,
"unit": "cm",
"zoom": 100
},
"embedded": {
"embedUrl": "https://example.com/embedded?doc=exampledocument1.docx",
"fullscreenUrl": "https://example.com/embedded?doc=exampledocument1.docx#fullscreen",
"saveUrl": "https://example.com/download?doc=exampledocument1.docx",
"shareUrl": "https://example.com/view?doc=exampledocument1.docx",
"toolbarDocked": "top"
},
"lang": "en",
"location": "us",
"mode": "edit",
"plugins": {
"autostart": [
"asc.{0616AE85-5DBE-4B6B-A0A9-455C4F1503AD}",
"asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}",
...
],
"pluginsData": [
"https://example.com/plugin1/config.json",
"https://example.com/plugin2/config.json",
...
]
},
"recent": [
{
"folder": "Example Files",
"title": "exampledocument1.docx",
"url": "https://example.com/exampledocument1.docx"
},
{
"folder": "Example Files",
"title": "exampledocument2.docx",
"url": "https://example.com/exampledocument2.docx"
},
...
],
"region": "en-US",
"templates": [
{
"image": "https://example.com/exampletemplate1.png",
"title": "exampletemplate1.docx",
"url": "https://example.com/url-to-create-template1"
},
{
"image": "https://example.com/exampletemplate2.png",
"title": "exampletemplate2.docx",
"url": "https://example.com/url-to-create-template2"
},
...
],
"user": {
"group": "Group1",
"id": "78e1e841",
"name": "John Smith"
}
},
"events": {
"onAppReady": onAppReady,
"onCollaborativeChanges": onCollaborativeChanges,
"onDocumentReady": onDocumentReady,
"onDocumentStateChange": onDocumentStateChange,
"onDownloadAs": onDownloadAs,
"onError": onError,
"onInfo": onInfo,
"onMetaChange": onMetaChange,
"onOutdatedVersion": onOutdatedVersion,
"onRequestClose": onRequestClose,
"onRequestCompareFile": onRequestCompareFile,
"onRequestCreateNew": onRequestCreateNew,
"onRequestEditRights": onRequestEditRights,
"onRequestHistory": onRequestHistory,
"onRequestHistoryClose": onRequestHistoryClose,
"onRequestHistoryData": onRequestHistoryData,
"onRequestInsertImage": onRequestInsertImage,
"onRequestMailMergeRecipients": onRequestMailMergeRecipients,
"onRequestRename": onRequestRename,
"onRequestRestore": onRequestRestore,
"onRequestSaveAs": onRequestSaveAs,
"onRequestSendNotify": onRequestSendNotify,
"onRequestSharingSettings": onRequestSaveAs,
"onRequestUsers": onRequestUsers,
"onWarning": onWarning
},
"height": "100%",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.t-IDcSemACt8x4iTMCda8Yhe3iZaWbvV5XKSTbuAn0M",
"type": "desktop",
"width": "100%"
};
复制代码
文章持续更新,更多细节可以微信搜一搜「一个需求」,这个其实很简单,怎么实现我不管!
划线
评论
复制
发布于: 46 分钟前阅读数: 4
版权声明: 本文为 InfoQ 作者【一个需求】的原创文章。
原文链接:【http://xie.infoq.cn/article/a0f97e801cfe5022a566e87a1】。文章转载请联系作者。
一个需求
关注
公众号【一个需求】 2021.06.23 加入
这个其实很简单,这么实现我不管!
评论