penley 发表于 2020-12-9 19:02:15

JSViewer打印中文乱码

本帖最后由 penley 于 2022-1-18 08:30 编辑

ASP.NET Core 3.1应用程序,JSViewer报表展示,在本地打印预览正常。
当以Docker方式发布后,预览和导出都正常,但打印预览出现中文乱码。



KearneyKang 发表于 2020-12-10 09:53:17

你好,你使用的是什么字体,然后你发布的服务器有安装对应的的字体没有

penley 发表于 2020-12-10 14:28:28

就默认的,也没改。Normal, Arial, 10pt, Normal

KearneyKang 发表于 2020-12-10 15:09:19

你好,你看看这个博客:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=82020
该问题就是字体匹配的问题导致的

penley 发表于 2020-12-11 11:58:50

参考博客,我制作了一个Demo程序。特意将报表中文本字体设置为“微软雅黑”和“宋体”。并且在服务器上安装了这些字体,没有解决问题,仍然是乱码。一、服务器上查看已安装中文字体:



二、报表预览正常




三、但打印预览和导出依然是乱码




注:服务器为容器运行。
1、容器镜像为:mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
   实际系统为:Debian GNU/Linux 10 系统(代号 “buster”)


2、容器内已经安装了报表使用到的两种字体


KearneyKang 发表于 2020-12-11 12:15:07

使用微软雅黑也不行??
然后现在是Windows服务器正常,但是Linux服务器出现打印乱码是这样是吧

penley 发表于 2020-12-11 14:11:05

是的,本地windows开发机正常;Linux服务器预览和导出excel也正常,就是打印乱码,宋体 和 微软雅黑 都试了,不行。感觉是打印时,转pdf出的问题。

penley 发表于 2020-12-11 14:13:32

为了测试,报表上的三个文本框设置的字体为:
字段1:Arial
这是宋体字:宋体
这是weiruanyahei:微软雅黑

但都不行。

KearneyKang 发表于 2020-12-11 14:35:07

您好
Linux 安装中文字体, 报表设置字体的时候设置对应的linux已安装的中文字体
你使用宋体看看,我这边一个客户是正常的使用宋体,就是机器上安装了对应的中文宋体

penley 发表于 2020-12-11 15:06:05

报表的标题”这是宋体字“用的就是宋体。
页: [1] 2
查看完整版本: JSViewer打印中文乱码