RE: jEditorPane y text/html problema con width y height
"jimmy_nimo" <jimmy_nimo-/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Podria (ya lo intente en desktop) pero va para un server y el performance se va al piso intentando eso alguna solucion? por favor --- En [email protected], "Fabian Nuñez" <fabnun@...> escribió: > > Una solucion media loca, podria ser usar java.awt.Robot > para que despues de ejecutar la pagina en un navegador a eleccion (mediante > Runtime.exec()) > Obtengas un screen de la pantalla. > > Saludos. > > El día 22/08/08, jimmy_nimo <jimmy_nimo@...> escribió: > > > > no, quiero tomar una imagen del html que estoy renderizando y que sea > > del tamaño correcto, > > > > leer html > > renderizarlo a imagen > > guardar imagen > > > > y si, tambien lo he intentando con flyingsawcer aqui esta el codigo > > con flyingsawcer: > > > > public static String Nueva(String archivo, String ruta) throws > > CaidaException > > { > > String address = archivo; > > String fin=null; > > // render > > try { > > > > BufferedImage buff = null; > > > > buff = Graphics2DRenderer.renderToImage(address, 1); > > fin=ruta+"temp.png"; > > File f = new File(fin); > > > > ImageIO.write(buff, "png", f); > > } catch (Exception e) { > > Logs.add("Error en creacion de imagen"+e.toString(), 3); > > throw new CaidaException("Error en creacion de imagen"+e.toString()); > > > > } > > return fin; > > } > > > > el problema es que en este caso en especifico (aun no entiendo porque) > > el interlineado de Flying saucer es incorrecto (coloca un interlineado > > 2 veces mas grueso que el que deberia ser) > > > > estoy haciendo pruebas con los 2, con Flying tengo el interlineado y > > con jEditorPane el problema que tengo al menos lo tengo ubicado es que > > la etiqueta <div style="width:348px; "> no la respeta, alguna posible > > solucion? > > > > --- En [email protected] <javaSpain%40yahoogroups.com>, Sebastian > > Gurin <sgurin@> escribió: > > > > > > a ver, según te entiendo estñás renderizando html en un panel y > > luego dibujando directamente una imágen en el mismo panel. No entendi > > muy bien qué es lo que quieres hacer, pero me asombra que, si estas > > gastando en renderizar html en swing, no metas la imagen dentro del > > documento html en lugar de dibijarla directamente en el panel. > > > > > > para renderizar html, te recomiendo flyingsawcer > > (xhtmlrenderer.dev.java.net) que respeta el estándar css2 al 100% y > > por ahí tu error viene porque la renderización html de swing no lo hace... > > > > > > un saludo > > > > > > On Fri, 22 Aug 2008 11:14:37 -0000 > > > "jimmy_nimo" <jimmy_nimo@> wrote: > > > > > > > Hola y ante todo gracias por leerme y por tener esta comunidad, espero > > > > poder ser de ayuda en ella. > > > > > > > > se que debe ser comun pero llegue a ustedes porque tengo un problema, > > > > si alguien me puede ayudar le estare tremendamente agradecido > > > > > > > > > > > > Estoy trabajando en un proyecto donde interrelacionan muchos sistemas, > > > > una de las interrelaciones es a traves de archivos html, donde un > > > > sistema (en flex) escribe el html y java lo tiene que renderizar y > > > > poderlo usar como imagen > > > > > > > > anexo coloco un ejemplo de un html > > > > html: > > > > > > > > <body bgcolor="#FFFFFF"><div style="width:348px; "> > > > > <div style="text-align:left; margin-top:0;margin-bottom: 0"> > > > > <font style="letter-spacing: 0px; letter-spacing: 0px; color: > > > > #000000; font-size: 10px; font-family: Arial; ">Estoy escribiendo un > > > > texto bien largo al pie de una foto, para ver como se comporta con los > > > > interlineados respecto al tamaño origen del mismo, a ver si se quedan > > > > muy espaciados o no o para poder estudiar mejor como se va a comporar > > > > a posteriori. es importante ver como esta quedando el espacio entre > > > > las lineas de texto para despues saber porque ha pasado todo esto. > > > > vaya rollo que estoy metiendo. añado para que me cuadre la > > foto</font> > > > > </div> > > > > </div></body> > > > > > > > > > > > > Yo estoy usando un jEditorPane para renderizar la imagen del html y el > > > > hace todo bien (tipos de letras y size, align, etc) pero no los > > > > tamaños, primero coloco el codigo para ver si es esto. > > > > > > > > public static BufferedImage create(String texto, int width, int > > height) { > > > > BufferedImage image = null; > > > > > > > > JEditorPane pane = new JEditorPane(); > > > > Kit kit = new Kit(); > > > > pane.setEditorKit(kit); > > > > pane.setEditable(false); > > > > pane.setMargin(new Insets(0,0,0,0)); > > > > pane.setEditable(false); > > > > > > > > try { > > > > > > > > pane.setContentType("text/html"); > > > > > > > > > > > > pane.setPage("http://localhost/"+texto); > > > > image = new BufferedImage(width, height, > > BufferedImage.TYPE_INT_RGB); > > > > Graphics g = image.createGraphics(); > > > > Container c = new Container(); > > > > SwingUtilities.paintComponent(g, pane, c, 0, 0, width, height); > > > > g.dispose(); > > > > } catch (Exception e) { > > > > System.out.println(e); > > > > } > > > > return image; > > > > } > > > > > > > > si uso width igual al del div que tengo (348) corta la imagen > > > > resultante, si le coloco tamaño 450 lo toma completo pero necesito que > > > > sea del tamaño exacto como en el html (que se vea como se ve en > > > > firefox, mismos tamaños) alguien me puede dar alguna idea? > > > > > > > > > > > > > > > > > -- > > > Sebastian Gurin <sgurin@> > > > > > > > > > >