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

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

🔍 ​​问题核心​

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

📋 ​​完整解决步骤​

第一步:获取正确的字体

  1. ​官方源获取​​:

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

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

    shell 复制代码
    pip install otf2ttf
    otf2ttf .\SourceHanSansCN-Bold.otf     
  3. ​输出文件​​:

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

第二步:部署新字体系统

bash 复制代码
# 移除问题字体
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之后乱码问题就解决了。

相关推荐
duyacode12 小时前
FastAPI为什么成为默认答案
程序员
Java_AI工程师13 小时前
90%的人写Function Calling,只写了"把参数传给工具执行"这一步,剩下的参数校验、错误重试、超时控制、结果格式化,全是空白。
java·人工智能·程序员
Hilaku13 小时前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
codigger14 小时前
我用 AI 做完整项目后,总结出一套把需求钉死的工作流
ai·程序员·编程·ai编程·#人工智能
SimonKing14 小时前
SpringBoot 集成 SSE 实现服务端推送或可代替Websocket
java·后端·程序员
挖掘狂人14 小时前
用 AI 写代码别只甩一句指令,这套工作流救过我的项目
程序员·ai编程·codebuddy
Sam_Deep_Thinking14 小时前
关于java final关键字的可见性
java·后端·面试·程序员
狂师15 小时前
cloudflared,不需要服务器和公网 IP 的免费内网穿透,一条命令上手
服务器·程序员·开源
demo007x16 小时前
我用 AI 做了一个跨平台的PopClip:拾趣Magpie
程序员·github·ai编程
zzzzzz31017 小时前
每日一条技术记录:把碎片学习变成可复盘的知识卡片
程序员·markdown·沸点