pdf转png图片乱码问题(字体缺失,centos安装字体)
欢迎访问自建博客原文:
http://www.e-lionel.com/index.php/2020/09/02/322/
项目中使用Spire.PDF将pdf转为png,出现了乱码问题,记录一下解决方案。
图片乱码如下:
在windows下运行项目,转换出是正常的,但是在linux服务器上就会出现问题
经过分析,发现应该不是 传统的乱码问题,应该是由于字体缺失导致的
使用fc-list
命令查看系统现有字体
使用fc-list :lang=zh
命令查看系统现有中文字体
如果上述命令不存在可以使用yum install -y fontconfig mkfontscale
命令进行安装
然后我们将需要安装的字体文件复制到/usr/share/fonts/目录下
然后进入字体文件目录,简历字体索引信息,更新字体缓存
cd /usr/share/fonts/mkfontscalemkfontdirfc-cache
再次使用fc-list :lang=zh
命令来查看字体是否安装成功
在实际业务逻辑代码中,需要给pdf解析对象指定字体,本次使用的样例如下:
/* 使用中文字体 */
BaseFont bf = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
ArrayList<BaseFont> fontList = new ArrayList<BaseFont>(1);
fontList.add(bf);
acroFields.setSubstitutionFonts(fontList);
至此,内容中文正常解析。
pdf转png图片乱码问题(字体缺失,centos安装字体)相关推荐
- linux6.8 添加字体,linux CentOS7 安装字体库-转
前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...
- Linux CentOS 安装字体
Linux CentOS 安装字体 1. 查看/usr/share目录下是否有fonts和fontconfig目录 , 如果没有,执行下面指令: yum -y install fontconfig , ...
- CentOs安装字体(解决aspose word 中文乱码问题)
问题描述 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码.但是在win服务器上使用可以正常转换. 问题原因 通过查资料分析后确认是由于centos服务器缺少对 ...
- neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)
前言 作为一名想成为大神的菜鸟程序员,一个牛X的代码编辑环境是必不可少的,在这里我推荐neovim和emacs.我使用的是neovim,github上有neovim-from-scratch工程可以一 ...
- 转载:解决wps linux中字体缺失以及文字体名字全是英文的问题
第一部分:字体缺失问题 可能是版权原因,Linux中许多字体是没有的,可以从Windows系统的Windows\Fonts文件夹中,复制所需的ttf字体文件到Linux系统的/usr/share/Fo ...
- 如何给CentOS安装字体库
很多时候,我们需要做一些图像生成工作(譬如验证码之类的),这时候,我们一般都需要用到系统的字体库.但事情却总非尽善人意,我们所使用的Linux操作系统无法像Windows操作系统那样足够"旗 ...
- linux字体操作,安装字体
1.linux查看系统中的中文字体 fc-list :lang=zh 结果如下,没有安装任何中文字体 2.把相关字体拷贝到/usr/share/fonts目录下 3.重启字体cache sudo fc ...
- linux firefox 10.0.12字体模糊,centos下字体模糊,firefox字体模糊解决方法
scim输入法是我们经常使用的一种输入法,而firefox字体也是同样如此,而在CentOS系统中如何scim输入法设置和firefox字体修改呢?下面我们就来解决这2个问题. CentOS系统sci ...
- centos7安装字体库
目录 1.前言 2.安装字体库 3.添加字体 4.搜索字体信息 1.前言 之前做过一个web端项目其中有个功能是可以选择不同的字体最后生成一个pdf,需要用到服务器的字体,由于当时服务器没有安装对应的 ...
最新文章
- Redis的常用命令——set的常用命令
- 电力系统通信站和设备管理系统分析设计
- python基础——注释、字符串、输出换行
- mysql 随机查询数据
- matplotlib 中文_详解Matplotlib中文字符显示问题
- Vue keep-alive实践总结
- 【JUC】第三章 多线程锁、CallableFuture 接口
- 2018年4月工业用微型计算机,2018年自考工业用微型计算机押密试题及答案(六)...
- 电脑如何连接蓝牙音箱_蓝牙音箱如何办理SRRC认证
- awk '/#BEGIN/,/#END/{next}1' 1是什么意思?-转
- 计算机无法显示硬盘盘符,移动硬盘连接电脑不显示盘符怎么回事?移动硬盘连接电脑不显示盘符的原因和解决方法...
- 任正非:人感知到自己的渺小,行为才开始伟大
- 重装系统重启后出现booting windows_电脑重装系统教程来了,Win10 20H2正式版安装图解...
- 第九周项目6-3:三色球问题
- openedge-function模块浅析——百度BIE边缘侧openedge项目源码阅读(3)
- 哈工大软件构造lab1
- LLDB命令简单介绍
- vim编辑器的查找字符串功能
- 第十章 结构体_C语言随机数生成教程,C语言rand和srand用法详解
- mysql 手机号省份_手机号码怎么划分省份