html를 이미지로 변환


HTML 화면을 이미지로 변환.


HTML 파일을 이미지 파일로 변환 하는 것이 아니라, HTML를 웹브라우저로 열었을 떄 뜨는 화면을 이미지로 변환 하는 것 입니다.


이때 이 HTML 문서는 css 속성이 따로 파일로 존재하면 안되고, 순수 HTML에 모든 속성이 다 적용이 되어야 합니다.

그래야 원하는 HTML 화면을 이미지로 변환해서 볼 수 있습니다.





import java.awt.*;

import java.awt.image.*;

import java.io.*;

import java.net.*;

import javax.imageio.*;

import javax.swing.*;

import javax.swing.text.*;

import javax.swing.text.html.*;


public abstract class Test{


@SuppressWarnings("serial")

static class Kit extends HTMLEditorKit{

public Document createDefaultDocument() {

HTMLDocument doc = (HTMLDocument) super.createDefaultDocument();

doc.setTokenThreshold(Integer.MAX_VALUE);

doc.setAsynchronousLoadPriority(-1);

return doc;

}

}


public static BufferedImage create(String src, 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,20,0,20));

pane.setContentType("text/html; charset=UTF-8");


try{

pane.setPage(new URL(src));

// HTML 내용을 콘솔창 출력.

System.out.println(pane.getText());

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;


}


public static void main(String[] args){

BufferedImage ire;

// 서버의 웹서버로 접근.

String url="http://localhost/print.jsp";

//String url="file:///D:\\print.html"; 서버의 파일을 부를 때.

// 저장될 이미지 위치와 이름

String path="D:\\tmp1.jpg";

// 이미지 크기.

ire = Test.create(url, 800, 800);


try{

ImageIO.write(ire, "PNG", new File(path));

}catch(IOException e){

e.printStackTrace();

}catch(IllegalArgumentException e){

e.printStackTrace();

}

}

}

'JAVA' 카테고리의 다른 글

[JAVA] IE11 첨부파일 한글깨짐  (0) 2017.11.27
[JAVA]https 로 변경  (0) 2017.11.27
[JAVA]HASHMAP 돌리기(SORT)  (0) 2017.11.24
[JAVA]getBean Test Main  (0) 2017.11.24
[JAVA]ftp util  (0) 2017.11.24
블로그 이미지

마크제이콥스

초보 개발자의 이슈및 공부 내용 정리 블로그 입니다.

,