我正在参加「掘金·启航计划」
最近接到一个掉头发的需求,客户想在原本onlyoffice基础上定制化。
- 需求1: 支持在线预览和编辑wps格式和et格式的文件
- 需求2: 打开wps的文件之后要像在本地wps打开一样 有中文字体和中文字号
- 需求3: 中文的字体要排序在英文的前面
于是就成就了这篇文章,哈哈。
下面放两张图做一个前后对比
可以看到下图中是更改后的onlyoffice 完美的支持了以上的定制化需求。那么我是怎么实现的呢
下面奉上每一步的具体实现
一. 添加中文字体
-
下载fontcreat.exe
-
将Windows/fonts 下的字体文件拷贝至 桌面
-
使用fontcreat打开字体文件 【Font】->【Properties】 修改
-
【File】->【Export Font as…】->【Export as TrueType/OpenType Font…】以ttf保存
-
删除原版自带字体 (此步骤省略)
进入容器 docker exec -it 容器id bash
cd /usr/share/fonts/ rm -rf *
cd /var/www/onlyoffice/documentserver/core-fonts/ rm -rf *
-
将要使用的字体docker cp拷贝到/var/www/onlyoffice/documentserver/core-fonts/文件夹下
进入到docker命令:
-
docker ps
-
docker exec -it zxfile_onlyoffice bash
-
在docker容器里执行: /usr/bin/documentserver-generate-allfonts.sh
-
退出docker容器 exit
-
重启docker镜像:docker restart zxfile_onlyoffice
二.添加中文字号
-
docker cp zxfile_onlyoffice:/var/www/onlyoffice/documentserver/web- apps/apps/documenteditor/main/app.js app.js
-
使用vim修改app.js 需要注意:编辑器修改会有问题
-
找到{value:8,displayValue:"8"} 在其前添加{value:42,displayValue:"初号"},{value:36,displayValue:"小初"},{value:26,displayValue:"一号"},{value:24,displayValue:"小一"},{value:22,displayValue:"二号"},{value:18,displayValue:"小二"},{value:16,displayValue:"三号"},{value:15,displayValue:"小三"},{value:14,displayValue:"四号"},{value:12,displayValue:"小四"},{value:10.5,displayValue:"五号"},{value:9,displayValue:"小五"},{value:7.5,displayValue:"六号"},{value:6.5,displayValue:"小六"},{value:5.5,displayValue:"七号"},{value:5,displayValue:"八号"},
-
docker cp app.js zxfile_onlyoffice:/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/ 有app.js.gz的话删掉
-
本地清缓存,验证
三.中文的字体排序在前
在第一步添加中文字体时 用工具fontcreate12的版本把英文名称修改时前面加*这样排序时字体就会根据字母排序到前面
四.支持wps格式和et格式
在此路径下/var/www/onlyoffice/documentserver/web-apps/apps/api/documents/ 的api.js中搜索到xlsx的地方添加et,搜索到doc的地方添加wps 有api.js.gz的话删掉
五.设置文件大小限制
修改/etc/onlyoffice/documentserver/下的 default.json 的 inputLimits 中的 uncompressed
然后 supervisorctl restart all
六.设置自定义logo
商用版config里配置就能修改logo
"editorConfig": {
"customization": {
"logo": {
"image": "https://example.com/logo.png",
"imageEmbedded": "https://example.com/logo_em.png",
"url": "https://example.com"
}
}
}
开发版只能替换app.css 里的图片
/var/www/onlyoffice/documentserver/web-apps/apps/documenteditor/main/resources/css/app.css
别忘了删掉gz文件
七. 7.2最新版设置水印
在“布局”中最右侧有“水印”选项可以选择设置
八. 7.2最新版设置主题
在文件中“高级设置”的界面主题中选择设置
后面的几个是在调研过程中发现的一些比较好用的功能
送给自己一段激励的话:
不苦不累,生活无味;不拼不搏,等于白活