问题描述
java中使用pdfbox工具将pdf文件转为图片时报错:No glyph for 20339 (CID 0844) in font STSong-Light
导出的图片若有中文的位置,出现框框或者乱码
问题原因
pdfbox默认使用STSong-Light
字体,且当前环境中没有该字体
解决办法
1.安装STSONG.TTF
字体
windows与linux环境字体通用,只是安装方式略有不同,可以自行查询
win10安装字体时,要选择“为所有用户安装”,确保安装文件保存到 C:\Windows\Fonts 目录中
安装完毕之后,重启服务,如果仍然是显示字体缺失,继续往下
2.修映射类 org.apache.pdfbox.pdmodel.font.FontMapperImpl
在pdfbox的jar包中找到字体映射的类org.apache.pdfbox.pdmodel.font.FontMapperImpl
,
将全部内容拷贝,在自己的项目目录下,建立一个完全一样的包结构和类文件,并拷贝里面的内容
在FontMapperImpl()构造方法中,添加替代方