我正在使用基于开罗/ RSVG的解决方案将SVG转换为PNG。它已经在StackOverflow的Convert SVG to PNG in Python中描述过了。 但是,此解决方案似乎不适用于自定义字体。我找到了this page describing embedding SVG fonts。使用Python中的自定义字体将SVG转换为PNG
我试图通过XLink将它们从外部SVG包含进来,如示例中所述。我试图直接在相同的SVG文件中嵌入字体。由于失败,我尝试了CSS Web字体语法。在使用Cairo进行渲染时,这三种方法都不起作用(它也不适用于GNOME的Ubuntu默认查看器Eye)。
我试过ImageMagick,结果和开罗一模一样。
另一方面,使用全部3种字体嵌入方法,WebKit中的字体都可以使用Google Chrome或webkit2png.py进行渲染。但是,如果可能的话,我想避免在服务器上使用QT WebKit,因为它是非常简单的设置(包括xvfb等),我担心这可能不会导致非常高效且不稳定。
是否有任何替代方法从Python渲染SVG到PNG?
不太确定这是我想安装在服务器上的软件 – vartec
@vartec:至少需要*某些第三方产品。不知道为什么Inkscape应该比任何其他解决方案更值得信赖。对于Windows,如果您不想安装该产品,也可以使用便携式版本http://portableapps.com/apps/graphics_pictures/inkscape_portable,可以直接运行,不需要任何管理员权限,也不需要整合到系统中。 –
刚刚尝试过,根本不起作用。不仅不渲染自定义字体,而且不处理使用XLink插入的外部图像。 – vartec