2012-02-02 1 views
0

J'ai trouvé http://code.google.com/p/flying-saucer/ qui devrait être la solution la plus appropriée pour mon projet. Mais les documents semblent seulement être en mesure de lire à partir du fichier.Comment rendre le code HTML en mémoire à une image?

Mais je mon cas je veux rendre à partir du code et je ne veux pas enregistrer un fichier XML temporaire. Par exemple renderToImageAutoSize dans Graphics2DRenderer

java.awt.image.BufferedImage statique renderToImageAutoSize (url java.lang.String, largeur, int bufferedImageType) Méthode utilitaire statique pour créer automatiquement une image d'un document, où la hauteur est déterminée en fonction du contenu du document. Est-il possible de laisser le rendu lire directement à partir du code HTML en mémoire?

Répondre

2

Graphics2DRenderer n'est pas une classe d'utilité. Vous devriez en créer une nouvelle instance.

Graphics2DRenderer gr = new Graphics2DRenderer(); 
gr.setDocument(doc, uri); 
gr.layout(g2, dim); 
Rectangle minSize = r.getMinimumSize(); 
//create new image with this size 
gr.render(newG2); 

Voir http://today.java.net/pub/a/today/2006/10/31/combine-facelets-and-flying-saucer-renderer.html#xhtml-to-image-conversion

+0

Mais je dois autoSize l'image de sortie, comment le faire maintenant? – Shisoft

+0

J'ai mis à jour ma réponse. Notez que vous devez toujours définir la largeur. – Adam

Questions connexes