You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下GraphicsMagick转换WMF文件输出PNG文本不显示问题

GraphicsMagick转换WMF文件缺失文本的解决方案

GraphicsMagick默认通过libwmf库解析WMF格式文件,该库对WMF内嵌特殊字体、矢量文本的渲染支持完善度低于LibreOffice Draw的WMF解析组件,这是转换后文本丢失的核心原因。

方案1:用LibreOffice命令行转换(优先推荐,兼容性最好)

既然已经确认LibreOffice Draw可以正常打开目标WMF文件,直接调用LibreOffice的无头模式转换可以完全规避libwmf的兼容性问题:

  • 基础转换命令:
    libreoffice --headless --convert-to png --outdir ./ "100MHZ EM2 HPF 061221.WMF"
  • 如需自定义DPI(比如设置为你需要的1200),使用带参数的命令:
    libreoffice --headless --convert-to png:"draw_png_Export":1200 --outdir ./ "100MHZ EM2 HPF 061221.WMF"

方案2:修复GraphicsMagick的WMF渲染依赖

如果必须使用GraphicsMagick完成转换,可以先调整libwmf的运行配置:

  • 先安装完整的libwmf组件和常用字体包:
    Debian/Ubuntu 系列系统执行:
    sudo apt install libwmf-bin libwmf0.2-7 fonts-liberation fonts-wqy-microhei
    RHEL/CentOS/Fedora 系列系统执行:
    sudo dnf install libwmf libwmf-tools liberation-fonts wqy-microhei-fonts
  • 执行转换时先指定libwmf的字体加载路径:
    export WMF_FONTPATH=/usr/share/fonts && gm convert -density 1200x1200 "100MHZ EM2 HPF 061221.WMF" Test2.png
  • 仍有文本缺失的话可以先走中间格式转换再输出PNG:
    gm convert "100MHZ EM2 HPF 061221.WMF" temp.eps && gm convert -density 1200x1200 temp.eps Test2.png

方案3:使用ImageMagick替代转换

ImageMagick对WMF格式的解析适配比GraphicsMagick更完善,安装后执行以下命令即可:
convert -density 1200x1200 "100MHZ EM2 HPF 061221.WMF" Test2.png
如遇到字体缺失提示,参照方案2安装对应字体包即可解决。


内容的提问来源于stack exchange,提问作者Johannes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:24:03