【发布时间】:2011-11-11 09:01:24
【问题描述】:
我正在使用基于 Cairo/RSVG 的解决方案将 SVG 光栅化为 PNG。它已经在 StackOverflow 上的 Convert SVG to PNG in Python 中进行了描述。 但是,此解决方案似乎不适用于自定义字体。
我找到了this page describing embedding SVG fonts。
我已尝试通过 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?
【问题讨论】:
-
我使用了适用于 PNG 的替代方案:stackoverflow.com/a/56194265/118125