当前位置:   article > 正文

Java 解决pdfbox转图片显示中文乱码 No glyph for 165 (CID 5752) in font STSong-Light

Java 解决pdfbox转图片显示中文乱码 No glyph for 165 (CID 5752) in font STSong-Light

问题描述:

        在开发PDF转JPG图片后,图片显示中文乱码,以下为具体示例:

        pdf源文件

        转换成JPG后

        截图可以看到¥符号无法转换为乱码

        关键代码报错截图

        代码已经提示我们STSong-Light字体中165符文不存在,而165正好对应着¥字符。(如果你们出现不存在某个字体的报错,接下来也可以跟我一样操作)

  1. 2024-04-28 00:13:31 WARN [org.apache.pdfbox.pdmodel.font.PDCIDFontType0] - Using fallback KaiTi for CID-keyed font STSong-Light
  2. 2024-04-28 00:13:31 WARN [org.apache.pdfbox.rendering.CIDType0Glyph2D] - No glyph for 165 (CID 5752) in font STSong-Light
  3. 2024-04-28 00:13:31 WARN [org.apache.pdfbox.pdmodel.font.PDTrueTypeFont] - Using fallback font 'LiberationSans' for 'CourierNewPSMT'

解决方案:

1.从网上下载最新的字体

        因为我怀疑目前系统存在的字体是老的,所以我从网上下载最新的STSong-Light字体,下载地址:STSong-Light字体|STSong-Light Version 1.02字体-TTF字体/未分类字体-字客网

2.在系统上安装字体,linux和window各有不同,我这里为linux字体安装:
  1. ## (可忽略)查看系统中的字体
  2. fc-list
  3. ## (可忽略)查看系统中的中文字体
  4. fc-list :lang=zh
  5. ## 进入系统自带的字体目录
  6. cd /usr/share/fonts/
  7. ## 进入chinese,没有需要创建,改目录用于存放中文字体
  8. cd chinese
  9. ## 将字体文件上传到该目录,我这里用的是rz命令,大家也可以用其它linux上传工具(例如WinSCP)也可以;
  10. rz
  11. ## 调整当前chinese目录下字体读写权限
  12. sudo chmod 755 ./*.TTF
  13. ## 更新字体缓存
  14. fc-cache -fv
  15. ## 刷新系统配置文件
  16. source /etc/profile
3.字体安装好后,还需要重启tomcat,这点很重要,不然代码不生效!!!!!
4.tomcat重启好后,就可以测试功能了;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/521601
推荐阅读
相关标签
  

闽ICP备14008679号