使用命令行的JavaScript从SVG创建PNG



我想从包含JavaScript的SVG创建PNG图像。SVG文件不依赖外部文件。我需要从命令行或python脚本进行操作。

到目前为止,我已经尝试使用svgexport和Inkscape而没有成功。

这是我使用的测试:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg">
	<text id='test' x='0' y='50'>NO</text>
	<script type='application/javascript'>document.getElementById('test').textContent='YES';</script>
</svg>

svgexport和inkscape将其呈现为"否",到目前为止,我的浏览器(firefox(才正确地呈现。

我找到了一个解决方案:

wkhtmltopdf是一个基于WebKit的渲染器,可以解释JavaScript。它通过了我的测试案例。

如果您想使用它,请小心:Debian/Ubuntu存储库中的版本已过时并且无法在X会话之外使用(例如,它在服务器上无法使用(。

使用rsvg-convert实用程序,显然具有最佳的转换质量和确切的正确性。

https://en.wikipedia.org/wiki/librsvg

最新更新