说明

onlyoffice提供文档构建服务(document server),通过文档构建服务可以对文档进行二次修改,也可以动态创建文档,文档构建服务支持,文档构建服务支持以下编程语言进行构建

  • .NET
  • node.js
  • php
  • ruby

并且在onlyoffice的插件开发中,也可以使用node.js的api,这个在插件篇也会提到

安装

document server需要单独安装,可以从这里下载最新的安装包,目前支持以下平台

Read the rest of this entry

说明

onlyoffice提供文档转换服务,基本涵盖了几乎所有常见文档之间的转换,可以看下word文档能转换成的文档格式就知道其强大

实现

转换接口

文档转换是通过接口来完成的,接口地址是https://documentserver/ConvertService.ashx,documentserver是documentserver的地址。这里列举几个常见的转换例子

文件保存流程

onlyoffice对文件保存处理流程如下

  • 用户在文档编辑器中对文档进行编辑
  • 文档编辑器将变化发送到document server(文档服务器)
  • 当用户关闭文档编辑器document server会回调用户配置的callbackurl进行通知
  • 回调程序下载最新的文档保存到文档服务器中

实现

代码

首先,和上一篇一样,本地创建html文件

Read the rest of this entry

文件打开流程

要在浏览器打开一个office文件,需要经过以下步骤

  • 指定文件下载路径和文件类型(word,ppt,excel)并通过JavascriptApi调用document server相关接口
  • document server会在后台将文件下载好并将文件转换为 Office Open XML格式,这是一种基于XML的通用文档格式
  • document server会将文档转换为前端可展示的形式(canvas)
  • 前端文档编辑器显示文档内容

实践

这里我们准备了一个样例文档并放到线上,这个样例文档也是onlyoffice官方使用的样例word文档。

创建页面

本地创建一个html页面,代码如下

Read the rest of this entry

编译环境

官方推荐的编译环境是Ubuntu 14.04,建议使用官方推荐的版本,避免编译过程中出现未知错误

64-bit Ubuntu 14.04

编译

apt-get install -y python git
git clone https://github.com/ONLYOFFICE/build_tools.git
apt-get install libgnutls-dev
nohup ./automate.py server >log.out 2>&1 &
如果顺利的话,大概需要8个小时以上能完成编译

说明

onlyoffice有三个版本

  • 社区版(基于AGPL v.3协议)
  • 企业版
  • 开发版

其中企业版和开发版都需要购买商业授权,本次以安装社区版为例

安装

onlyoffice支持docker安装和主机安装,docker安装比较简单,参考官方文档即可,这里就不再介绍,本次介绍的是在主机上安装onlyoffice

Read the rest of this entry