Draw.io 导出 svg 文件插入 Word 等情景下字体设置无效

问题:在用 Draw.io 绘图后导出 svg 文件插入 Word 或其他情景下,对文字的字体设置无效。

描述:此时文字往往会显示为默认字体,在对文字字体要求比较严格的情景下,这非常糟糕!

解决方案:如果退一步,可以在导出时选择嵌入字体,这样文字会以png图片形式保存到svg中。

尽管这样已足够清晰到可以应对绝大部分情景,但是,这种方案非常不优雅!

完全违背矢量图的矢量精神!

原因:经分析,Draw.io 会使用一种名为“Helvetica”的默认字体,尽管内部设置了新的字体,但外部仍会使用这种“非系统自带字体”,这就导致 Word 等依赖精确字体匹配的环境无法正常渲染。

解决方案(符合矢量精神版):对症下药即可,如把 svg 文件中所有“Helvetica”字体替换为任意系统自带字体即可(不会影响已设置字体)。

AI 个 Python 脚本:

# 保存为fix.py,然后运行: python fix.py yourfile.svg
import re, sys
with open(sys.argv[1], 'r', encoding='utf-8') as f:
    content = f.read()
content = re.sub(r'Helvetica', 'Arial', content, flags=re.IGNORECASE)
with open(sys.argv[1].replace('.svg', '_fixed.svg'), 'w') as f:
    f.write(content)
print("修复完成!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值