反馈已提交

网络繁忙

服务器安装字体

  • 文档创建者:RosieY
  • 历史版本:18
  • 最近更新:Carly 于 2024-08-07
  • 1. 概述

    1.1 问题描述

    1)用户在打印、导出时,会出现与预览结果不一致的情况。如:

    • 在 Linux 环境下,发现客户端预览是正常的,但是在导出或打印时会出现乱码,或者一些特殊符号如人民币符号「¥」,在导出或打印时发现变成了美元符号「$」。

    • 在 Linux 系统的客户端,预览或导出的图片乱码。

    • Linux 下打印预览,有重影。

    • Linux 服务器导出文字重叠。

    • 导出 pdf 时图表里的中文变成框框。

    • 本来设置的字体是微软雅黑,但是导出来的 PDF 却是宋体。

    • 插入斜线乱码,斜线为方框。

    2)在本地设计器工程下预览字体正常,保存在服务器上,通过服务器预览时,效果和设计器工程预览不一致。

    3)在 Linux 系统中出现报表斜线丢失。

    4)Linux 系统中,在主报表中插入子报表,如果子报表有中文,那么在主报表中显示的时候会出现中文乱码,但主报表其他部分或者子报表单独访问的时候中文并不会乱码。

    5)模板在钉钉中预览单元格内容显示不全,但是在浏览器中预览正常。

    6)工程预览模板报错:java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)

    1.2 原因分析

    • 客户端导出或者打印时,字体使用的是服务器的系统字体和服务器依赖的 JRE 下的字体,若服务器没有设计器设计时选用的字体,则会出现乱码或者字体被替换的问题。

    • 设计器设计报表时,使用的是设计器所在设备本地系统的字体,保存在服务器上后,若服务器没有设计器设计时选用的字体,则会出现预览不一致的问题。

    • 对于 Linux 系统 Java 在 drawString 的时候,可能会没有对应的字体,此时就会出现斜线丢失的情况。

    • 在使用插入子报表时,实际上是在服务器端事先画好图片,当客户端发出请求访问主报表时,再去调用已画好的图片。当插入的子报表中含有中文的时候会调用操作系统中的语言包,如果 Linux 中没有安装中文语言包会导致出现乱码现象。

    2. 解决思路

    解决思路一:给工程安装字体

    使用「字体管理插件」,给工程安装字体。

    字体仅对安装配置了该插件的FineReport工程生效,对Linux/Windows服务器中的其他工程/应用不生效

    详情请参见:字体管理插件

    解决思路二:给服务器设置中文语言环境,给服务器、Tomcat、JDK安装字体

    注1:如果是预览工程中的模板出现乱码,需要检查:

    • 工程所在服务器(集群工程,需要检查每一个节点所在服务器)

    • 预览模板的客户端设备(电脑)

    注2:如果是预览设计器的模板出现乱码,需要检查:

    • 设计器远程设计的工程所在服务器

    • 设计器所在设备(电脑)


    附件列表


    主题: 部署集成
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持