title: How to take a webpage screenshot?
body: <p>I am using this code below but the image generated is broken. I think probably it is because of the renderization options. Does anybody know what is happening? </p>
  
  <pre><code>package webpageprinter;
  
  import java.net.URL;
  import java.awt.image.BufferedImage;
  import javax.imageio.ImageIO;
  import java.beans.PropertyChangeListener;
  import java.beans.PropertyChangeEvent;
  import javax.swing.text.html.*;
  import java.awt.*;
  import javax.swing.*;
  import java.io.*;
  
  public class WebPagePrinter {
  private BufferedImage image = null;
  
  public BufferedImage Download(String webpageurl) {
  try
  {
      URL url = new URL(webpageurl);
      final JEditorPane jep = new JEditorPane();
      jep.setContentType("text/html");
      ((HTMLDocument)jep.getDocument()).setBase(url);
      jep.setEditable(false);
      jep.setBounds(0,0,1024,768);
      jep.addPropertyChangeListener("page",new
      PropertyChangeListener() {
                  @Override
      public void propertyChange(PropertyChangeEvent e) {
      try
      {
          image = new
          BufferedImage(1024,768,BufferedImage.TYPE_INT_RGB );
          Graphics g = image.getGraphics();
          Graphics2D graphics = (Graphics2D) g;
          graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
          jep.paint(graphics);
          ImageIO.write(image,"png",new File("C:/webpage.png"));
      }
      catch (Exception re)
      {
          re.printStackTrace();
      }
      }});
      jep.setPage(url);
  
  }
  catch (Exception e)
  {
  e.printStackTrace();
  }
  return image;
  }
  
      public static void main(String[] args) {
  
          new WebPagePrinter().Download("http://www.google.com");
  
      }
  }
  </code></pre>