内容目录
当 PDF 包含 STSONG-light 字体时,会导致转换 PDF 为图片时文字丢失。这是由于 Ghostscript 的默认配置问题,通常在 Docker 中会遇到这个问题。
查看 Ghostscript 配置文件:
cat /etc/ghostscript/cidfmap.d/90gs-cjk-resource-gb1.conf
部分内容如下:
/Song-Medium /GBZenKai-Medium ;
/STSong-Light /BousungEG-Light-GB ;
/STFangsong-Light /BousungEG-Light-GB ;
/STHeiti-Regular /BousungEG-Light-GB ;
/STKaiti-Regular /BousungEG-Light-GB ;
/Adobe-GB1 /BousungEG-Light-GB ;
/Adobe-GB1-Bold /GBZenKai-Medium ;
把 Windows 下的 simsun.ttc 字体复制到容器中。
如果需要添加其它字体,可以放到 /usr/share/fonts/opentype/
下,创建一个自定义命令再将字体放进去。
然后修改 /etc/ghostscript/cidfmap.d/90gs-cjk-resource-gb1.conf
文件,将 ST 开头的字体路径替换为 simsun.ttc 文件。
如下所示:
/BousungEG-Light-GB << /FileType /TrueType /Path (/usr/share/fonts/truetype/arphic/uming.ttc) /SubfontID 0 /CSI [(GB1) 4] >> ;
/GBZenKai-Medium << /FileType /TrueType /Path (/usr/share/fonts/truetype/arphic/ukai.ttc) /SubfontID 0 /CSI [(GB1) 4] >> ;
/Song-Medium /GBZenKai-Medium ;
/STSong-Light << /FileType /TrueType /Path (/usr/share/fonts/opentype/myfonts/simsun.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STFangsong-Light << /FileType /TrueType /Path (/usr/share/fonts/opentype/myfonts/simfang.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STHeiti-Regular << /FileType /TrueType /Path (/usr/share/fonts/opentype/myfonts/simhei.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STKaiti-Regular << /FileType /TrueType /Path (/usr/share/fonts/opentype/myfonts/simkai.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/Adobe-GB1 /BousungEG-Light-GB ;
/Adobe-GB1-Bold /GBZenKai-Medium ;
然后执行 update-gsfontmap
命令来刷新配置。
文章评论