当前位置: 首页 > news >正文

UOS(基于 RHEL 7)/ .NET Core 应用 / DevExpress 报表打印中文缺失问题

UOS(基于 RHEL 7)/ .NET Core 应用 / DevExpress 报表打印中文缺失问题

问题现象

服务器环境:统信 UOS(基于 RHEL 7)/ .NET Core 应用 / DevExpress 报表打印

打印预览时发现一个奇怪的现象:

  • 姓名 → 显示为 (“名”丢了)

  • 名名名名名名名 → 显示为 (连续相同字符只显示一个)

  • 名称名词名表 → 显示为 名称名词名表(非连续字符正常)

libgdiplus 版本 4.2 在渲染连续相同字符时存在 Bug。当渲染“名名名名名名名”时,它错误地合并了相同的字符,导致只显示一个“名”。而“名称名词名表”因为字符不完全相同,所以能完整显示。

升级到 libgdiplus 6.2 后,问题解决!

一、安装 libgdiplus 6.2

1.1 安装编译依赖 

sudo yum install -y autoconf automake libtool \glib2-devel cairo-devel \libjpeg-turbo-devel libpng-devel libtiff-devel \giflib-devel libX11-devel \fontconfig-devel freetype-devel \libexif-devel

.2 下载源码 

cd /root
wget https://dl.winehq.org/mono/sources/libgdiplus/libgdiplus-6.2.tar.gz


 

1.3 编译安装 

tar -zxvf libgdiplus-6.2.tar.gz
cd libgdiplus-6.2
autoreconf -fi
./configure --prefix=/usr
make
sudo make install

1.4 验证版本 

pkg-config --modversion libgdiplus
# 输出:6.2 ✅
 


其他:

sudo cat /proc/$(pgrep -f "WebApi.dll" | tail -1)/environ | tr '\0' '\n' | grep -i libgidplus
# 输出:LIBGIDPLUS_FALLBACK_FONT=Noto Sans CJK SC ✅

 
[Unit]
Description=6.5web
After=network.target[Service]
WorkingDirectory=/var/www/6.5web
ExecStart=/bin/bash -c 'LIBGIDPLUS_FALLBACK_FONT="Noto Sans CJK SC" FONTCONFIG_PATH=/etc/fonts /usr/bin/dotnet /var/www/6.5web/WEBLAS.dll --urls=http://0.0.0.0:8001'
Restart=always
RestartSec=10
SyslogIdentifier=6.5web
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false[Install]
WantedBy=multi-user.target

 

 
http://www.jsqmd.com/news/1309386/

相关文章:

  • B站缓存视频合并终极指南:Android上免费开源解决方案
  • 一个API调遍所有真大模型
  • Windows 11美化工具终极指南:5分钟掌握传统应用界面优化方案
  • 终极指南:3分钟掌握Abracadabra魔曰文言文加密神器
  • 围棋AI智能教练:用KaTrain提升棋艺的完整指南
  • Agent开发简历面试点
  • RPG Maker解密工具终极指南:一键提取加密游戏资源
  • 网盘资源搜不到?爱搜神器帮你一键搞定 - 品牌观察室
  • NVIDIA Profile Inspector终极指南:3步解锁隐藏显卡性能的完整解决方案
  • 终极Docker镜像离线下载工具:零依赖跨平台部署完整指南
  • GoB插件:5分钟实现Blender与ZBrush无缝双向工作流
  • 游戏工作室常见误区:拿到版号前后,企业资质与财务数据必须保持一致
  • 【AI B端后台设计黄金法则】:20年架构师亲授5大避坑指南与落地 checklist
  • 如何用Tai追踪你的Windows时间:3步实现精准统计
  • 游戏开发者必看:3天速成AI音效工作流——Unity+AudioGPT无缝集成全教程
  • 完整指南:使用Docker部署pwned-search密码检查工具
  • STM32 启动流程解析:上电后第一条代码是如何执行的
  • 美术艺考培训机构如何摆脱平台高成本获客,BBWEYY GEO服务与小程序低成本转化实操指南,含零代码SAAS、AI编程、源码定制交付
  • Vin象棋:重新定义中国象棋AI辅助体验的智能解决方案
  • 为什么全国产短波红外相机这么少? - 米諾
  • 从0到量产:工业级SD面部修复节点Pipeline搭建(含FaceID校验模块+动态分辨率补偿算法)——某头部美颜SDK技术负责人首次披露
  • Spring中的八大设计模式详解
  • 多场景适用:multi-object-tracker在视频监控中的应用技巧
  • WAS Node Suite架构解析:ComfyUI中210+节点扩展的技术方案与实现原理
  • 暑期学习:自学Java第十七天
  • 仅剩87套未公开的AI连续图样Prompt库泄露:含纺织/包装/建材三大垂直领域专用参数矩阵(限时48小时领取)
  • appmsg接口采集公众号文章接口已谢幕
  • 海外短剧系统源码_多语言多支付TikTok Minis/H5出海下载搭建部署
  • 终极指南:5分钟掌握文言文加密神器Abracadabra魔曰
  • 2026年8月MBTI测试哪个准?从题库到报告拆解8个平台的选择逻辑 - 米諾