jEditorPane y text/html problema con width y height
"jimmy_nimo" <jimmy_nimo-/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
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?