pdfbox将pdf转换成图片时,提示STSong-Light字体缺失:No glyph for 20154 (CID 0ca6) in font STSong-Light

一、pdfbox把pdf转为图片的过程中出错
把pdf文件转为图片展示,但是展示出来的中文都是 口口 ,日志显示一堆No glyph for * (CID *) in font STSong-Light。
反正原因就是字体缺失造成的。

上述类中的63行打了一个日志表示找不到字体。大概就是这样的:

if (!font.hasGlyph(code)){
int cid = font.getParent().codeToCID(code);
String cidHex = String.format(“%04x”, cid);
LOG.warn("No glyph for " + code + " (CID " + cidHex + ") in font " + fontName);
}
1
2
3
4
5
从 提出字体的地址 中看到,AdobeSongStd-Light.otf,这个字体可以解决这个问题。
就到处找,终于找到了这个字体,安装上,当时发现还是没有解决。最后发现是操作的问题

二、windows安装字体
linux就不说了。我是win10
安装字体时,要选择“为所有用户安装”,这样安装后,安装文件就到了 C:\Windows\Fonts 目录中了,直接放到目录中也行。
如果仅仅是安装,会把字体放到用户目录下,我尝试直接安装会不生效(也就是jvm没读取到)。
在这里插入图片描述

最后是重启tomcat。重启tomcat后,重新进行把pdf转为图片就能把汉子成功解析出来了。这时如果你手动去删除 C:\Windows\Fonts\Adobe 宋体 Std 细体,会发现删不掉或者直接提示正在使用,说明java已经占用了该字体了。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值