打印protovis输出(以编程方式)

时间:2010-10-10 15:24:04

标签: javascript protovis

我正在考虑切换到protovis进行可视化。然而有一件事让我持怀疑态度 - 因为protovis在浏览器中创建了输出作为div,我想知道是否有任何至少半自动的方式让我一次创建一堆图像而不打开每一个并按下“print” “手动。

所以问题是:

  • 您认为我可以使用像V8这样的无浏览器JS引擎来执行代码并打印结果吗?
  • 我可以在浏览器中自动打开和打印吗?
  • 还有另一种从protovis获取自动图像的方法吗?

谢谢, 尼古拉斯

2 个答案:

答案 0 :(得分:2)

关于这个话题,请看this Google Groups thread

答案 1 :(得分:1)

查看http://www.phantomjs.org/

这是一个无头浏览器。

它可以完全按照你的意愿行事: http://code.google.com/p/phantomjs/wiki/QuickStart#Rendering

rasterize.js:

if (phantom.state.length === 0) {
    if (phantom.args.length !== 2) {
        console.log('Usage: rasterize.js URL filename');
        phantom.exit();
    } else {
        var address = phantom.args[0];
        phantom.state = 'rasterize';
        phantom.viewportSize = { width: 600, height: 600 };
        phantom.open(address);
    }
} else {
    var output = phantom.args[1];
    phantom.sleep(200);
    phantom.render(output);
    phantom.exit();
}

制作着名Tiger的渲染示例(来自SVG):

phantomjs rasterize.js http://ariya.github.com/svg/tiger.svg tiger.png 

enter image description here