вывод на печать протовиса (программно) - PullRequest
2 голосов
/ 10 октября 2010

Я размышляю о переходе на Protovis для визуализаций. Одна вещь, которая заставляет меня скептически относиться к этому - так как protovis создает свой вывод в виде div в браузере, мне интересно, есть ли какой-нибудь хотя бы полуавтоматический способ создать сразу несколько изображений, не открывая и не нажимая кнопку «вручную.

Так что вопрос будет:

  • Как вы думаете, я могу использовать JS-движок без браузера, такой как V8, чтобы выполнить код и напечатать результат?
  • можно ли автоматизировать открытие и печать в браузере?
  • Есть ли другой способ получить автоматизированные изображения от Protovis?

Спасибо, Nicolas

Ответы [ 2 ]

2 голосов
/ 10 октября 2010

Посмотрите на эту ветку групп Google на эту тему.

1 голос
/ 20 июня 2011

Выезд 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

...