一:前言

OnlyOffice是一款强大的在线office工具,我们通过他可以让客户脱离于客户端环境,直接从web端进行文档编写。
这篇文章只是介绍一下onlyOffice的所需要的环境基本使用方法(在线打开预览,在线编辑与保存)。
官网:https://www.onlyoffice.com/

二:环境搭建

  • 由于只是简单调用,所以我们只需要安装docker(二次开发需node.js),并通过docker下载onlyOffice镜像
  • docker安装教程:https://www.cnblogs.com/yufeng218/p/8370670.html
  • -附赠docekr相关命令
    启动 systemctl start docker
    守护进程重启 sudo systemctl daemon-reload
    重启docker服务 systemctl restart docker
    重启docker服务 sudo service docker restart
    关闭docker service docker stop
    关闭docker systemctl stop docker
  • 下载onlyoffice镜像 docker pull onlyoffice/documentserver
  • 启动镜像 sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver (第一个80表示onlyoffice服务对外的端口号)
  • 浏览器访问 ip:port (镜像所在服务器ip:docker启动镜像所设定的端口),出现下图表示onlyoffice启动成功

三:JAVA调用onlyoffice

  • 官方示例 https://api.onlyoffice.com/app_data/editor/Java%20Example.zip

  • 首页 index.jsp中使用fileupload方法上传文件,调用data-url后台方法把文件上传到服务器,js方法在jscript.js第31行。

     <input type="file" id="fileupload" name="file" data-url="IndexServlet?type=upload" />
    
  • jscript.js中有编辑(beginEdit)和查看(beginView)两个事件,两个事件使用了一个后台方法,区分只是传入的mode参数不同。

      - jq(document).on("click", "#beginEdit:not(.disable)", function () {var fileId = encodeURIComponent(jq("#hiddenFileName").val());var url = UrlEditor + "?mode=edit&fileName=" + fileId;window.open(url, "_blank");jq("#hiddenFileName").val("");jq.unblockUI();});jq(document).on("click", "#beginView:not(.disable)", function () {var fileId = encodeURIComponent(jq("#hiddenFileName").val());var url = UrlEditor + "?mode=view&fileName=" + fileId;window.open(url, "_blank");jq("#hiddenFileName").val("");jq.unblockUI();});`
    
  • 调用EditorServlet,后台代码设置一些参数,跳转到edit.jsp,现在说一下edit.jsp如何调用onlyoffice,以及调用onlyoffice所必要的参数。
    edit.jsp必须引用onlyoffice服务器所对应的api.js,onlyoffice相关参数可在settings.properties里配置

jsp源码为 <script type="text/javascript" src="${docserviceApiUrl}"></script>
实际引用的是 http://ip:port/web-apps/apps/api/documents/api.js

jsp中调用onlyoffice只需要在div中加载onlyoffice组件即可

 html部分<body><div class="form"><div id="iframeEditor"></div></div></body>JS部分及相关参数说明:var сonnectEditor = function () {var config={"document":{"fileType": "文件类型如   '.docx' ","key": "文件唯一标识(详见代码逻辑)","title": "文件名称","url": "文件所在的网络地址(http://ip:port/demo.docx),此地址必须是onlyoffice服务器所能访问到的地址"},"documentType": "文档类型","editorConfig": {"callbackUrl":"http://xxxx:xxx/CallBackServlet?fileName=xxx.docx   此地址为保存文档时的回调方法,用于保存文件","customization":{"forcesave":"true"},"mode":"view  插件加载的类型,view只允许查看  edit可以编辑","lang":"zh-CN"},"height": "100%","width": "100%"};docEditor = new DocsAPI.DocEditor("iframeEditor", config);};if (window.addEventListener) {window.addEventListener("load", сonnectEditor);} else if (window.attachEvent) {window.attachEvent("load", сonnectEditor);}

  • 如果onlyoffice加载文件时提示“文件下载失败”或者“Download failed”,是因为onlyoffice无法访问你提供给他的url属性,请检查两个服务器是否互通,防火墙和网关是否打开
  • 令附 夏木炎大神对官方示例保存文件失败的问题修改 https://blog.csdn.net/xm393392625/article/details/86466817
    引用如有侵权,反馈后立即删除

OnlyOffice快速入门相关推荐

  1. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  2. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  3. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  4. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  5. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  6. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  7. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  8. OpenStack快速入门

    OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...

  9. Expression Blend实例中文教程(2) - 界面快速入门

    上一篇主要介绍Expression系列产品,另外概述了Blend的强大功能,本篇将用Blend 3创建一个新Silverlight项目,通过创建的过程,对Blend进行快速入门学习. 在开始使用Ble ...

  10. 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)

    一个月不走弯路快速入门学python和python数据分析路线,呕心沥血加班加点做了2天,一共63页,该课件讲的都是路线中的核心知识,今天把该PPT分享给大家,能根据该课件提到的知识有针对性的学,做到 ...

最新文章

  1. rockbox主题包安装_微信主题更改流程介绍!超火的猫和老鼠、小黄人等系列等你来设置...
  2. Error in do_one(nmeth) : NA/NaN/Inf in foreign function call (arg 1)
  3. 如何设计秒杀服务器的限流策略
  4. 设计模式之动态代理的代码实现(Java)
  5. SVN中忘记上传自己写的工程,但是IP已经变了的解决方案
  6. phpstorm PHP language level无法选择
  7. mysql error 1449_MySql错误:ERROR 1449 (HY000)
  8. sts中给项目添加服务器,sts创建java web项目
  9. ARKit玩起来 - AR卡通秀-史小川-专题视频课程
  10. IP协议和IPX协议的区别
  11. CSS中animation动画-详解
  12. python虚拟变量回归_Python中使用虚拟变量的OLS最佳解决方案?
  13. 系统结构考点之CRAY-1向量处理机
  14. Python Learn 2 -- 高级特性、函数式编程
  15. Dremio 数据湖以及数据仓库
  16. 计算机打字怎么测试,计算机 - 在线打字测试(dazi.kukuw.com)
  17. 年终总结——感谢2012
  18. java8怎么通过LocalDate获取上个月的时间
  19. JS 实现div 居中显示
  20. 北斗授时服务器(GPS时钟服务器)在地铁轨道交通中的应用

热门文章

  1. 毕业论文(设计)开题报告
  2. MySql:学生表、教师表、课程表、分数表 练习
  3. 【入门必备】如何学习一门编程语言——这些你一定要知道
  4. 本周之后Win11 变成beta通道只能更新22000.176而没办法更新Dev的解决办法 your PC does not meet the hardware system
  5. 中望3D2022 草图综合训练
  6. 2019 年第 33 周 DApp 影响力排行榜 | TokenInsight
  7. 从高考到程序员,一生无悔的选择,码农的成长之路
  8. 长沙动环监控系统主要监测哪些指标呢?
  9. 动环监控系统发展趋势
  10. C语言课设实验设备管理系统(大作业)