2010-10-10 6 views
2

Je réfléchis à la commutation sur protovis pour les visualisations. Une chose qui me garde cependant sceptique - puisque protovis crée sa sortie en tant que div dans un navigateur, je me demande s'il existe une façon au moins semi-automatique de créer un tas d'images à la fois sans les ouvrir et en appuyant sur " manuellement.impression sortie protovis (par programmation)

La question serait:

  • pensez-vous que je peux utiliser un moteur V8 comme JS sans navigateur pour exécuter le code et imprimer le résultat?
  • Puis-je automatiser l'ouverture et l'impression dans un navigateur?
  • Y at-il une autre façon d'obtenir des images automatisées à partir de protovis?

Merci, Nicolas

Répondre

2

Jetez un oeil à this Google Groups thread sur ce sujet même.

+0

bien merci beaucoup, c'est exact ce que je cherchais (supposé que ce ne serait pas tout à fait trivial ...) – Nicolas78

+0

@Nicolas: avez-vous vu [le dernier message] (http://groups.google.com/group/protovis/msg/8a70b0e274255b36) , qui comprend une démo autonome? On dirait que vous pouvez prendre ça et partir de là. –

+0

oui, essayé et cela fonctionne, tout ce qui est nécessaire est un petit script autour de lui pour rendre la conversion entièrement automatique, ne devrait pas être un gros problème. Je posterai ici si je fais cela. Merci encore! – Nicolas78

1

Découvrez http://www.phantomjs.org/

Il est un navigateur sans tête.

Il peut faire exactement ce que vous voulez: 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(); 
} 

Un exemple pour produire le rendu du célèbre Tiger (de SVG):

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

enter image description here

+0

très bien, merci! un outil utile dans tous les cas. – Nicolas78

Questions connexes