我需要将带有自定义字体的 SVG 转换为 PNG,为此我使用以下 Python 代码。
import cairosvg
png = cairosvg.svg2png(bytestring=svg_data)
该代码在我安装了字体的本地计算机(在 Mac OS 下运行)上运行良好。然而,当我尝试将其部署到远程 Ubuntu 实例时,字体不知何故无法加载,最终我得到的是包含一些默认字体的 PNG。字体已安装在系统中(我已经尝试过不同的字体文件夹,fontconfig也在可用字体列表中具有字体)并且访问权限似乎是有序的。任何可能出错的提示都会很有用!
设法使用Wand解决问题:
from wand.image import Image
with Image(blob=svg_data, format="svg") as image:
png_image = image.make_blob("png")
附注CairoSVG 版本仍然无法工作。