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

时间:2018-04-27 17:43:09

标签: javascript svg

我想从包含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都将其呈现为“NO”,到目前为止只有我的浏览器(Firefox)才能正确呈现它。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案:

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

如果你想使用它,要小心:Debian / Ubuntu repos中的版本已经过时,并且不能在X会话之外工作(例如,它不能在服务器上工作)。 / p>

答案 1 :(得分:-1)

使用epsilon+-sqrt(6 / (fan_in + fan_out))实用程序,它显然具有最佳转换质量和准确性。

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