欢迎访问自建博客原文:
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安装字体)相关推荐

  1. linux6.8 添加字体,linux CentOS7 安装字体库-转

    前言 报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效: 如上图可以看出,不仅没有中文字体,连字体库 ...

  2. Linux CentOS 安装字体

    Linux CentOS 安装字体 1. 查看/usr/share目录下是否有fonts和fontconfig目录 , 如果没有,执行下面指令: yum -y install fontconfig , ...

  3. CentOs安装字体(解决aspose word 中文乱码问题)

    问题描述 在centos服务器使用aspose.word转换word文件为pdf的时候显示中文乱码.但是在win服务器上使用可以正常转换. 问题原因 通过查资料分析后确认是由于centos服务器缺少对 ...

  4. neovim图标显示乱码,utf8字体显示乱码(Windows10和Centos安装nerd-fonts)

    前言 作为一名想成为大神的菜鸟程序员,一个牛X的代码编辑环境是必不可少的,在这里我推荐neovim和emacs.我使用的是neovim,github上有neovim-from-scratch工程可以一 ...

  5. 转载:解决wps linux中字体缺失以及文字体名字全是英文的问题

    第一部分:字体缺失问题 可能是版权原因,Linux中许多字体是没有的,可以从Windows系统的Windows\Fonts文件夹中,复制所需的ttf字体文件到Linux系统的/usr/share/Fo ...

  6. 如何给CentOS安装字体库

    很多时候,我们需要做一些图像生成工作(譬如验证码之类的),这时候,我们一般都需要用到系统的字体库.但事情却总非尽善人意,我们所使用的Linux操作系统无法像Windows操作系统那样足够"旗 ...

  7. linux字体操作,安装字体

    1.linux查看系统中的中文字体 fc-list :lang=zh 结果如下,没有安装任何中文字体 2.把相关字体拷贝到/usr/share/fonts目录下 3.重启字体cache sudo fc ...

  8. linux firefox 10.0.12字体模糊,centos下字体模糊,firefox字体模糊解决方法

    scim输入法是我们经常使用的一种输入法,而firefox字体也是同样如此,而在CentOS系统中如何scim输入法设置和firefox字体修改呢?下面我们就来解决这2个问题. CentOS系统sci ...

  9. centos7安装字体库

    目录 1.前言 2.安装字体库 3.添加字体 4.搜索字体信息 1.前言 之前做过一个web端项目其中有个功能是可以选择不同的字体最后生成一个pdf,需要用到服务器的字体,由于当时服务器没有安装对应的 ...

最新文章

  1. Redis的常用命令——set的常用命令
  2. 电力系统通信站和设备管理系统分析设计
  3. python基础——注释、字符串、输出换行
  4. mysql 随机查询数据
  5. matplotlib 中文_详解Matplotlib中文字符显示问题
  6. Vue keep-alive实践总结
  7. 【JUC】第三章 多线程锁、CallableFuture 接口
  8. 2018年4月工业用微型计算机,2018年自考工业用微型计算机押密试题及答案(六)...
  9. 电脑如何连接蓝牙音箱_蓝牙音箱如何办理SRRC认证
  10. awk '/#BEGIN/,/#END/{next}1' 1是什么意思?-转
  11. 计算机无法显示硬盘盘符,移动硬盘连接电脑不显示盘符怎么回事?移动硬盘连接电脑不显示盘符的原因和解决方法...
  12. 任正非:人感知到自己的渺小,行为才开始伟大
  13. 重装系统重启后出现booting windows_电脑重装系统教程来了,Win10 20H2正式版安装图解...
  14. 第九周项目6-3:三色球问题
  15. openedge-function模块浅析——百度BIE边缘侧openedge项目源码阅读(3)
  16. 哈工大软件构造lab1
  17. LLDB命令简单介绍
  18. vim编辑器的查找字符串功能
  19. 第十章 结构体_C语言随机数生成教程,C语言rand和srand用法详解
  20. mysql 手机号省份_手机号码怎么划分省份

热门文章

  1. 长沙掌讯:3G时代SP市场新需求潜力巨大
  2. SSH 的优点和缺点
  3. 张钹院士:走向真正的人工智能 | CCF-GAIR 2018
  4. 给微信找茬:这个核心功能存在BUG!
  5. 路由器 刷 linux系统版本,路由器能刷kali linux固件么
  6. libcurl库使用方法
  7. Android Gprinter开发
  8. 如何快速查询多个快递物流,并给拒收的单号标色
  9. python爬取率_[新手]python爬虫爬取中证指数官网数据
  10. 仅从SQL和表及参数层面简单总结22种Hive基础调优方式