vila 发表于 2024-5-21 08:51:16

【ActiveReportsJS】【创建报表时设置了仿宋字体但是在预览界面不生效】


我在创建报表时设置了【仿宋】字体但是在预览报表时字体显示不正确,以下是详细说明:


我想将我的报表字体设置为【仿宋】,在创建报表的时候能选择到这个字体


通过谷歌浏览器在报表预览界面查看字体,发现是【Liberation Sans】


如果通过浏览器样式直接修改能显示成【仿宋】字体



Felix.Li 发表于 2024-5-21 08:51:17

您好,您的代码用的是ActiveReport产品,那个方法是我们另一个产品的代码。所以肯定不适用。

其次,ActiveReport的字体配置是利用如下方法:
https://gcdn.grapecity.com.cn/showtopic-164040-1-1.html

这个配置的是设计器。设计器设置好后。这个字体预览的时候,就会用选择的。选择的映射其实就是上面截图的。

Eden.Sun 发表于 2024-5-21 15:31:27



您好,您看一下您的浏览器的请求中有没有这个字体:


如果没有的话,您需要在项目中注册,才能使用的。
https://gcdn.grapecity.com.cn/showtopic-144135-1-1.html

vila 发表于 2024-5-21 18:02:30

本帖最后由 vila 于 2024-5-21 18:10 编辑

您好,我按照您提供的超链接中的demo写了这段代码:
GC.ActiveReports.Core.FontStore.registerFonts("./yahei/fontsConfig.json");

但是提示我GC未定义。

之后我查找到这个帖子(https://gcdn.grapecity.com.cn/showtopic-78920-1-61.html)中用这种方式注册的字体,
我就把代码改成这样:
viewer.registerFont("./yahei/fontsConfig.json");

但是提示我registerFont不是一个function。


vila 发表于 2024-5-22 09:05:08

Felix.Li 发表于 2024-5-21 18:45
您好,您的代码用的是ActiveReport产品,那个方法是我们另一个产品的代码。所以肯定不适用。

其次,Acti ...

麻烦您看下我这个代码该怎么改动,我的这边设计器的代码和您提供的demo不太一样

vila 发表于 2024-5-22 09:07:14

这是我的设计器代码

Eden.Sun 发表于 2024-5-22 15:10:30

vila 发表于 2024-5-22 09:07
这是我的设计器代码


您好,您可以这么改下,
可以参考我们的api:https://developer.mescius.com/activereportsnet/docs/versions/v15/online/web-designer-plugins-api.html

vila 发表于 2024-5-22 19:34:03

本帖最后由 vila 于 2024-5-22 19:37 编辑

Eden.Sun 发表于 2024-5-22 15:10
您好,您可以这么改下,
可以参考我们的api:https://developer.mescius.com/activereportsnet/docs/v ...
我通过您提供的代码修改后在本地(windows环境)运行没有问题,部署到服务器(Linux环境)后字体仍旧不生效。我怀疑这和我服务器上的操作系统有关,以下是我的验证步骤:

我有A和B两台Linux服务器,其中:
A:安装的centos操作系统,通过docker容器部署的葡萄城报表;
B:安装的国产操作系统openEuler,因为无法通过docker容器部署,所以用的命令部署的葡萄城报表。

在更新了修改字体配置的代码后,
服务器A上的字体是正常的,设置和预览都是一样的字体,
服务器B上的字体是不正常的,设置和预览字体不一致。

我通过查看Dockerfile中的命令行发现有涉及到字体安装的语句:
COPYyahei /usr/share/fonts/
RUN cd /usr/share/fonts/
RUN yum install fontconfig -y
RUN fc-cache -fv

那么,是否因为服务器B无法通过docker容器部署所以无法执行这几行命令,导致字体没有配置成功呢?
因为字体在服务器B上配置失败所以预览的字体一直和设置不一样?
您这边看看能不能提供一下在openEuler操作系统上配置字体的命令呢?

Eden.Sun 发表于 2024-5-23 12:20:15

vila 发表于 2024-5-22 19:34
我通过您提供的代码修改后在本地(windows环境)运行没有问题,部署到服务器(Linux环境)后字体仍旧不生 ...

这个就成了在openEuler   安装字体文件的问题了。
您可以先把字体文件复制到服务器的 /usr/share/fonts/ 或者 /usr/local/share/fonts/目录下。


然后更新一下字体缓存:
fc-cache-fv


记得使用管理员权限进行。

vila 发表于 2024-5-23 13:43:13

Eden.Sun 发表于 2024-5-23 12:20
这个就成了在openEuler   安装字体文件的问题了。
您可以先把字体文件复制到服务器的 /usr/share/fonts/ ...

好的,没有问题。谢谢帮助:handshake
页: [1] 2
查看完整版本: 【ActiveReportsJS】【创建报表时设置了仿宋字体但是在预览界面不生效】