11

我正在开发一些脚本来生成 SVG 文件,我想知道 Linux 上有哪些好的 SVG 渲染器。我知道 Firefox/Chrome 提供 SVG 支持(而且我感觉 Chrome 的渲染速度更快),但我可能还缺少其他独立的 SVG 渲染器。我知道 pySVG 的存在。

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

4

5 回答 5

6

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

于 2012-06-26T15:31:44.513 回答
5

qiv您可以尝试使用带有-m -T标志的命令行应用程序。

于 2014-03-15T17:11:36.130 回答
5

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 文件

于 2014-04-16T09:46:36.520 回答
2

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

在此处输入图像描述

于 2012-06-27T06:29:39.773 回答
2

我推荐 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/

于 2012-06-27T17:29:33.547 回答