2010-10-10 111 views
2

我在思索切换到protovis进行可视化。然而,有一件事让我持怀疑态度 - 因为protovis在浏览器中将它的输出创建为div,我不知道是否有至少半自动的方式让我一次创建一组图像,而不打开每个图像并按下“print “手动。打印protovis输出(编程)

所以问题是:

  • 你觉得我可以用一个无浏览器JS引擎像V8执行代码,并打印出结果?
  • 我可以在浏览器中自动打开和打印吗?
  • 有没有另一种方法从protovis获得自动图像?

感谢, 萨科

回答

2

看一看this Google Groups thread关于这个题目。

+0

非常感谢,很确切ly我在找什么(认为它不会是完全微不足道的......) – Nicolas78 2010-10-10 16:19:21

+0

@Nicolas:你看过[最后一篇文章](http://groups.google.com/group/protovis/msg/8a70b0e274255b36) ,其中包括一个独立的演示?看起来你几乎可以接受并从那里出发。 – 2010-10-10 17:00:35

+0

是的,试用了它,它的工作原理,只需要一个脚本就可以让转换完全自动化,不应该成为一个问题。如果我这样做,我会在这里发布。再次,谢谢! – Nicolas78 2010-10-12 10:33:51

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(); 
} 

一个例子,产生著名的老虎(从SVG)的渲染:

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

enter image description here

+0

很好,谢谢!无论如何都是一个有用的工具。 – Nicolas78 2011-06-19 21:55:32