如何将字体添加到 ONLYOFFICE 文档服务器 8.0

news2024/11/25 15:00:11

作者:VincentYoung

阅读本文,了解如何为自己的在线办公软件 ONLYOFFICE 文档服务器的字体库添加字体

ONLYOFFICE 文档是什么

ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写表单、PDF 和电子书,可多人在线协作,支持 AI 集成。它具有丰富的插件库,并且支持自行开发上传插件。

ONLYOFFICE 文档开发者版可以无缝地适应您的网络应用,支持多种流行的编程语言和开发框架,包括JavaScript、Python、Java、C# 等。为前端框架也提供现成的组件样本 (Angular, React, Vue 等)。

我们使用浏览器连接自己的 ONLYOFFICE 文档在线办公软件服务器来编辑管理文档,经常就会需要在 ONLYOFFICE 文档服务器上添加额外的字体,使得我们使用在线编辑器的时候可以用新的字体呈现、排版,这个添加额外字体的操作非常简单。

基本操作

一般情况下,ONLYOFFICE 文档会在所安装到的计算机中,检测使用操作系统本身所安装维护的字体库中的免费字体,后缀名为 .ttf 格式的 true type 类型字体,因此,添加字体就是向操作系统添加字体的操作后使用 ONLYOFFICE 文档的字体导入工具处理一下即可:

Linux 系统的服务器

  1. 将字体文件拷贝到如下路径,/usr/share/fonts/
  2. 进入 ONLYOFFICE 可执行文件所在的文件夹路径,/usr/bin
  3. 运行 ONLYOFFICE 文档所提供的字体导入脚本程序documentserver-generate-allfonts.sh
  4. 客户端浏览器使用在线 ONLYOFFICE 文档情况下,清除浏览器缓存后刷新页面

Windows 系统的服务器

  1. 将字体文件拷贝到如下路径,C:\Windows\Font
  2. 进入 ONLYOFFICE 可执行文件所在的文件夹路径,C:\Program Files\ONLYOFFICE\DocumentServer\bin\,用管理员权限运行 ONLYOFFICE 文档所提供的字体导入脚本程序 documentserver-generate-allfonts.bat,这将扫描操作系统的字体文件夹里面所有安装的字体,然后会被加入脚本文件 AllFonts.js中,该文件是脚本化的字库数据文件,文件内容截图一部分如下所示,生成用在文档编辑器中的字体缩略图,并添加字体的度量标准到文件 font_selection.bin中以供之后使用,该文件则是编译过的纯粹的二进制数据文件。
  3. 重新启动 ONLYOFFICE DocumentServer ConverterONLYOFFICE DocumentServer DocService 这两个系统服务
  4. 客户端浏览器使用在线 ONLYOFFICE 文档情况下,清除浏览器缓存后刷新页面

有用的提示

ONLYOFFICE 文档通常自带一些字体,当安装的时候,它会检查操作系统中是否已经存在包含了下列字体: arial.ttf、calibri.ttf、cour.ttf、symbol.ttf、times.ttf、wingding.ttf

首次打开文档时,ONLYOFFICE 文档将检查文档中存在哪些字体,并从安装了 ONLYOFFICE 文档的计算机上传,如果文档就是由本 ONLYOFFICE 文档创建的,往往就是这种情况。 如果文档使用了 ONLYOFFICE 文档计算机中缺少的字体,比如文档由其它 Office 软件创建或者由其它单位的 ONLYOFFICE 文档创建的,再拷贝进入本地的共享存储空间,由本地的 ONLYOFFICE 文档服务进程来打开编辑,就十分可能会检测到文档需要 ONLYOFFICE 文档计算机中所缺少的字体,它将上传最接近的字体替换(文档布局和显示可能会受到此类替换的影响)。

如果你想减少从计算机上传的字体数量,可以用以下措施:

  • 从计算机操作系统中卸载删除字体,然后运行 /usr/bin/documentserver-generate-allfonts.sh,然后在客户端浏览器中清除缓存 cache,重新刷新页面,可能会影响之前的排版效果
  • 限制文档中所使用的不同的字体的数量,比如只使用最常用的几个字体:Times New Roman、Verdana、Tahoma、宋体、等
  • 使用压缩,动态的或静态的

相关链接

ONLYOFFICE 文档 8.0 新功能介绍:文章 / 视频

了解 ONLYOFFICE 文档开发者版

如何采用WOPI协议将Office整合到自己项目中

如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1449397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“恶意提起知识产权诉讼行为的法律规制”主题研讨活动成功举办

随着我国社会经济的迅速发展以及创新型国家、知识产权强国建设的不断深入,知识产权在社会生活中正发挥着越来越重要的作用。特别是对于广大市场主体而言,知识产权已经不仅是一种私权利,更成为商业竞争中非常重要的一种手段,由此引发了大量的知识产权诉讼纠纷。此类纠纷中,既有权…

Maven详细配置整理

Maven的作用 在Javaweb开发中,需要使用大量的jar包,需要手动去导入,Maven能够自动帮我们导入和配置这个jar包。 对于新手Maven就是用来方便导入jar包的! Maven的核心思想:约定大于配置 有约束,不要去违…

[FPGA开发工具使用总结]VIVADO在线调试(1)-信号抓取工具的使用

目录 1简介2 添加观测信号的几种方法2.1 通过定制IP核添加2.2 通过约束文件添加2.3 通过GUI生成DEBUG约束文件2.4 两种方法的优点与缺点 3在线调试方法3.1 器件扫描设置3.2 触发条件设置3.3 触发窗口设置3.4 采样过程控制 4常见问题4.1 时钟域的选择4.2 缺少LTX文件4.3 ILA无时…

- 语言经验 - 《使用google profiler 对c++应用进行性能热点分析》

本文属于专栏《构建工业级QPS百万级服务》​​​​​ 性能优化,是工业应用中的重要一环。因为当我们的重要目的之一是盈利时,那么成本就十分重要。而性能优化的前提是,我们知道哪一部分功能,是最耗费资源的,才…

烹饪第一个U-Net进行图像分割

今天我们将学习如何准备计算机视觉中最重要的网络之一:U-Net。如果你没有代码和数据集也没关系,可以分别通过下面两个链接进行访问: 代码: https://www.kaggle.com/datasets/mateuszbuda/lgg-mri-segmentation?sourcepost_page--…

【C语言】常见字符串函数的功能与模拟实现

目录 1.strlen() 模拟实现strlen() 2.strcpy() 模拟实现strcpy() 3.strcat() 模拟实现strcat() 4.strcmp() 模拟实现strcmp() 5.strncpy() 模拟实现strncpy() 6.strncat() 模拟实现strncat() 7.strncmp() 模拟实现strncmp() 8.strstr() 模拟实现strstr() 9.str…

第二十九回 施恩三入死囚牢 武松大闹飞云浦-分布式版本控制系统Git使用

武松要蒋门神答应三件事:离开快活林、东西都归还施恩,公开对施恩赔礼道歉,不许在孟州住。蒋门神不得已都答应了,灰溜溜地离开了孟州城。 一个月之后,天气转凉,张都监调武松到孟州城,做了他的亲…

vue3-应用规模化-路由和状态

客户端 vs. 服务端路由 服务端路由指的是服务器根据用户访问的 URL 路径返回不同的响应结果。当我们在一个传统的服务端渲染的 web 应用中点击一个链接时,浏览器会从服务端获得全新的 HTML,然后重新加载整个页面。 然而,在单页面应用中&…

CSS设置盒子阴影

语法 box-shadow: *h-shadow v-shadow blur spread color* inset; 注释: box-shadow向框添加一个或多个阴影. 该属性是由逗号分隔的阴影列表,每个阴影由2-4个长度值、可选的颜色值及可选的inset关键词来规定。省略长度的值是0。 外阴影 a、给元素右边框和下边框加外阴影——把…

生活篇——华为手机去除负一屏

华为手机去除如下图的恶心负一屏 打开华为的应用市场app 进入:我的-设置-国家/地区(改为俄罗斯)-进入智慧助手检查更新并更新智慧助手。 然后重复开始的操作,将地区改回中国,这样就没有负一屏了。

python自学...

一、稍微高级一点的。。。 1. 闭包(跟js差不多) 2. 装饰器 就是spring的aop 3. 多线程

拟合案例2:matlab实现分段函数拟合(分段点未知)及源码

案例介绍: 本案是针对一个分段函数中的参数进行拟合,使用的拟合工具是matlab中的lsqcurvefit或nlinfit。函数形式和待拟合参数如下所示。该案例的特殊之处在于分段点也是待拟合参数,因此如何自定义拟合函数,实现分段点的拟合是本案例最大的难点。本案例提供了三种分段函数…

双端队列,优先队列,单调队列

单调队列 单调队列是指一个队列内部元素具有单调性的数据结构 分为单调递增队列和单调递减队列 单调队列满足三个性质: 单调队列也是队列,满足先进先出单调队列必须满足从队头到队尾的单调性排在队列前面的元素比排在队列后面的元素要先进队 代码实现上…

excel统计分析——多组数据的秩和检验

单因素资料不完全满足方差的基本假定时,可进行数据转换后再进行方差分析,但有时数据转换后仍不满足方差分析的基本假定,就只能进行秩和检验了。 多组数据秩和检验的主要方法为Kruskal-Wallis检验,也称为Kruskal-Wallis秩和方差分析…

分布式文件系统 SpringBoot+FastDFS+Vue.js【二】

分布式文件系统 SpringBootFastDFSVue.js【二】 六、实现上传功能并展示数据6.1.创建数据库6.2.创建spring boot项目fastDFS-java6.3.引入依赖6.3.fastdfs-client配置文件6.4.跨域配置GlobalCrosConfig.java6.5.创建模型--实体类6.5.1.FastDfsFile.java6.5.2.FastDfsFileType.j…

__attribute__ ---Compile

Section for attribute attribute_?嵌入式C代码属性怎么定义 https://www.elecfans.com/d/2269222.html section 属性的主要作用是:在程序编译时,将一个函数或者变量放到指定的段,即指定的section 中。 一个可执行文件注意由代…

STM32——菜单(二级菜单)

文章目录 一.补充二. 二级菜单代码 简介:首先在我的51 I2C里面有OLED详细讲解,本期代码从51OLED基础上移植过来的,可以先看完那篇文章,在看这个,然后按键我是用的定时器扫描不会堵塞程序,可以翻开我的文章有单独的定时…

BUGKU-WEB 矛盾

题目描述 进入场景看看: 代码如下: $num$_GET[num]; if(!is_numeric($num)) { echo $num; if($num1) echo flag{**********}; }解题思路 需要读懂一下这段PHP代码的意思明显是一道get相关的题目,需要提供一个num的参数,然后需要传入一个不…

【数据结构】顺序栈和链式栈的简单实现和解析(C语言版)

数据结构——栈的简单解析和实现 一、概念二、入栈(push)三、出栈(pop)四、顺序栈简单实现 (1)进栈操作(2)出栈操作 一、概念 本篇所讲解的栈和队列属于逻辑结构上的划分。逻辑结构…

GPDB - 高可用 - FTS机制(一):探测成功

GPDB - 高可用 - FTS机制(一):探测成功 作为GreenPlum高可用的核心功能,FTS(Fault Tolerance Server)进程负责故障检测。该进程是master上的一个子进程,可以快速检测到primary或者mirror是否宕机…