解决Adobe Acrobat打开PDF文件可能存在的乱码问题

198 阅读1分钟

🚀 ​​通过Puppeteer导出的PDF文件,其中部分字体在Acrobat中存在显示乱码问题的一种解决思路。​

🔍 ​​问题核心​

  • ​环境​​:Linux + Puppeteer
  • ​症状​​:Adobe Acrobat中思源黑体CN显示乱码 但WPS和浏览器正常
  • ​根因​​:查了资料应该是OTF字体格式与PDF渲染引擎的兼容性问题

📋 ​​完整解决步骤​

第一步:获取正确的字体

  1. ​官方源获取​​:

    https://github.com/adobe-fonts/source-han-sans
    
  2. ​转换OTF为独立TTF​​:

    我是在本地Windows使用 otf2ttf 将OTF转为TTF 感觉转换前后有点差异 但是目前似乎不影响最终效果 后续可能继续研究下更好的方法

    pip install otf2ttf
    otf2ttf .\SourceHanSansCN-Bold.otf     
    
  3. ​输出文件​​:

    • SourceHanSansCN-Regular.ttf
    • SourceHanSansCN-Medium.ttf
    • SourceHanSansCN-Bold.ttf
    • 其他字号

第二步:部署新字体系统

# 移除问题字体
sudo rm /usr/share/fonts/chinese/SourceHanSansCN*.otf

# 部署新TTF
# sudo cp *.ttf /usr/share/fonts/chinese/
# 我这里是直接上传的
sudo chmod 644 /usr/share/fonts/chinese/*.ttf

# 重建字体缓存
sudo fc-cache -fv

# 验证安装
fc-list | grep -i "Source Han Sans CN"

第五步:生成后验证

至此重新生成PDF之后乱码问题就解决了。