一、系统架构
二、工作原理
ONLYOFFICE主要包括四部分:前端应用、前端插件、前端sdk库、后台服务
- 后台服务主要作用是接受文件处理请求,然后对文档进行下载、转码、缓存等操作
- 前端sdk库起到承上启下的作用,封装对后台服务的操作,并为前端应用和插件提供可访问的API
- 前端应用会按照用户需求展示页面,并根据用户操作对后台服务发出请求。针对三种文档类型会有三个应用组合,每个应用组合中都有支持内嵌、web、移动端的入口
- 前端插件提供了方便扩展的在线处理系统的入口,可以按照需求增加各种插件。注意:前端插件会在预览时被禁用
三、二次开发实践
- 整个ONLYOFFICE都除了文档转码(core)部分为C++开发,其他全部使用node.js开发
- 后台的主要服务(DocService,FileConverter,SpellChecker,Metrics)都是通过pkg打包成可执行文件,摆脱node环境的依赖
- 中文字体的生成的打包会通过 core中编译的工具 allfontsgen 来实现,可以在前端应用的编辑页面中展示中文字体(注意中文字体需要有中文family_name和英文family_name两个字体才可以正常生成中文)