良好的SVG渲染器的Linux?

我正在开发一些脚本来生成SVG文件,我不知道有什么好的SVG渲染器存在于Linux中。 我知道Firefox / Chrome提供了SVG支持(我感觉Chrome在渲染速度上更快),但也许还有其他的独立SVG渲染器,我错过了。 我知道pySVG的存在。

我的意思是尽可能地覆盖SVG 1.1规范。 我更喜欢独立库的原因是我的工作stream程更快,因为我不必每次都按F5。

Solutions Collecting From Web of "良好的SVG渲染器的Linux?"

由draw.io工具导出的SVG 1.1对于当前Batik,Cairo,qiv,甚至FireFox的正确渲染来说太“现代”了:似乎它们都不支持<foreignObject>元素。 不过,WebKit的确能正确渲染,所以为了将SVG转换成高质量的图像,我使用http://wkhtmltopdf.org上的“wkhtmlto …”工具。

wkhtmltoimage在屏幕分辨率下生成输出,而--zoom缩放线和文本以不同方式导致剪辑(尽管在Chrome中打开相同的SVG并且缩放正确执行)。 所以相反,我使用wkhtmltopdf来生成中间pdf,然后将其作为高分辨率图像与ghostscript呈现:

 wkhtmltopdf callbacks.svg callbacks.pdf gs -sDEVICE=pnggray -sOutputFile=callbacks.png -dBATCH -dNOPAUSE -r900 callbacks.pdf 

编辑:去通过页面描述格式的缺点是,生成的图像文件可能有非常大的边界。 您可以尝试使用纸张大小和布局来最大限度地减少这种情况,或者仅使用ImageMagick将其自动裁剪掉:

 convert callbacks.png -trim callbacks.png 

编辑:FireFox 49.0.2(2016年11月)现在呈现draw.io SVG正确。 没有重新测试开罗或蜡染。 样本draw.io文件

Apache Batik是一个非常好的库/程序集合,支持SVG规范的很大一部分。 它包括一个独立的查看器/编辑器和一个可以将SVG转换为光栅图像格式的命令行光栅器。

您可以使用-m -T标志来尝试命令行应用程序qiv

Qt SVG只需2次点击即可,如果你安装Qt 4.7并选择本地安装的示例项目svgviewer 。 只需构建并运行以获取动画视口:

在这里输入图像说明

我推荐WebkitGtk。 这是用于为Safari,Chrome和其他许多浏览器提供支持的渲染器。 它支持呈现SVG以及HTML。

只要apt-get install libwebkitgt-3.0-0 。 你可以运行/usr/lib/webkitgtk-3.0-0/libexec/GtkLauncher来试试。

然后,您可以使用任何您喜欢的语言/绑定来围绕SVG渲染器构建GUI,包括Python的Gtk绑定: http : //www.aclevername.com/articles/python-webgui/

这里是另一篇关于使用Webkit和pygtk绑定构建桌面UI的好文章: http : //arstechnica.com/information-technology/2009/07/how-to-build-a-desktop-wysiwyg-editor-with-webkit-and- HTML-5 /