我正在使用基于 Cairo/RSVG 的解决方案将 SVG 光栅化为 PNG。它已经在 StackOverflow 中的Convert SVG to PNG in Python中进行了描述。但是,此解决方案似乎不适用于自定义字体。
我发现这个页面描述了嵌入 SVG 字体。
如示例中所述,我已尝试通过 XLink 从外部 SVG 包含它们。我尝试将字体直接嵌入到同一个 SVG 文件中。失败后,我尝试了 CSS Web Fonts 语法。使用 Cairo 进行渲染时,这 3 种方法都不起作用(在 Ubuntu 的默认查看器 Eye of GNOME 中也不起作用)。
我试过 ImageMagick,结果和 Cairo 完全一样。
另一方面,对于所有 3 种字体嵌入方法,使用 Google Chrome 或webkit2png.py都可以在 WebKit 中很好地呈现字体。但是,如果可能的话,我想避免在服务器上使用 QT WebKit,因为它是不平凡的设置(包括 xvfb 等),我担心这可能不会导致非常高效和稳定。
有没有从 Python 将 SVG 渲染为 PNG 的替代方法?