天天看点

java应用页面打印中文空白

背景

java应用调用开源打印插件打印中文页面的时候,显示空白

java应用页面打印中文空白

,但是使用finashell重启应用再次打印同样的页面却可以打印

百思不得其解

照理来说ssh终端不会影响应用的功能,但是事实确实是使用finashell重启应用的时候再次打印可以显示内容,而使用xshell,putty,winscp的命令行重启应用,再打印,打印空白

检查JasperReport6.x配置

叫开发检查这个开源插件的配置,说配置没有问题,而且开发什么win系统本地启动也能打印

检查启动脚本

将启动的shell脚本使用dos2unix统一转化一次,并且将脚本重新保存一次,没有效果

检查linux字体配置

1 查看/usr/share/fonts/chinese路径,发现确实有需要的中文字体文件

java应用页面打印中文空白

2 设置chown -R 755 /usr/share/fonts/chinese

3 检查/etc/fonts/fonts.confs配置,已经添加了字体文件夹

java应用页面打印中文空白

4 检查字体文件夹是否已经加载

java应用页面打印中文空白
java应用页面打印中文空白

最终解决办法

1 安装中文语言包

yum install -y kde-l10n-Chinese
           

这个后来经测试,再卸载掉也不影响打印,可装可不装吧

2 安装依赖包

yum -y install glibc-common
           

这个后来经测试,也不影响打印,可装可不装吧

yum -y reinstall glibc-common
           

3 设置LANG环境变量

vi /etc/profile
           

添加

export LANG="zh_CN.UTF-8"  
export LC_ALL="zh_CN.UTF-8"
           

soure /etc/profile
           

结果验证

补充

cd /usr/share/fonts/Chinese
mkfontscale
mkfontdir
fc-cache
           

补充2