pdfbox或icepdf转换PDF为图片时,中文乱码处理

一:追查原因

出现这个原因很简单,必定是你的PDF是自己编辑的,否则不会出现此问题。而且你的Linux服务器必定没有你自己编辑的中文字体。

如:我的PDF编辑用了楷体,Linux上没有此字体就GG了

pdfbox或icepdf转换PDF为图片时,中文乱码处理_第1张图片

二:处理问题

处理此问题极其简单,我们将Windows上面的字体写入Linux上然后加载进系统即可。

步骤如下:

1:Windows系统的字体文件在:C:\Windows\Fonts

2:Linux系统字体文件一般在:/usr/share/fonts/

3:我们在Linux 字体库 /usr/share/fonts/ 新建文件夹:myFonts

4:将Windows所有字体一把全部传过去,Linux系统字体库中:/usr/share/fonts/myFonts/

我喜欢简单粗暴,毕竟不知道PDF到底用了啥字体.

5:Linux需要加载我们字体,命令如下:

扫描所有字体,创建字体文件夹、加载字体缓存至系统
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# mkfontscale
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# mkfontdir
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# fc-cache -fv 

假如你的命令执行不了,CentOS 请如下操作

# 使mkfontscale和mkfontdir命令正常运行
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# yum install mkfontscale 
# 使fc-cache命令正常运行。如果提示 fc-cache: command not found
[root@iZbp1f0xuq9rc41s6gdvfyZ /]# yum install fontconfig

6:记得重启你的java服务就可以了,因为要重新加载系统调用资源

你可能感兴趣的:(Linux,系统服务运维,java)