Est-ce que quelqu'un sait comment faire cela? J'ai essayé avec JEditorPane mais ça ne marche pas? Une autre idée?Comment convertir le HTML d'un site internet vers une image?
Merci d'avance.
Ce code J'utilise:
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
public class HtmlToImage
{
protected static File generateOutput() throws Exception
{
// Create a temporary output file for the PNG image.
File outputFile = new File("Reporte.png");
outputFile.deleteOnExit();
JEditorPane pane = new JEditorPane();
pane.setContentType("text/html");
pane.setPage("http://www.google.com");
final JFrame frame = new JFrame();
frame.pack();
// Time Delay for the correct loading of the file.
try
{
Thread.sleep(5000);
}
catch(NumberFormatException nfe)
{
}
frame.add(pane);
frame.pack();
Dimension prefSize = pane.getPreferredSize();
pane.setSize(prefSize);
BufferedImage img = new BufferedImage( prefSize.width, prefSize.height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g = (Graphics2D) img.getGraphics();
SwingUtilities.paintComponent(g, pane, frame, 0, 0, prefSize.width, prefSize.height);
ImageIO.write(img, "png", outputFile);
return outputFile;
}
public static void main(String[] args)
{
try
{
generateOutput();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
comment cela ne fonctionne pas? – Bozho
J'imagine que JEditorPane est un composant Swing et n'a rien à voir avec le HTML. –
Hey @Bozho, merci pour la réponse. Le problème est l'image résultante, elle est totalement mal formée. – hernangarcia