java把html转成图片的方法

  1. 代码

1.1 html模版

static String HtmlTemplateStr =

""+



"\"cctv.com图片\""+



"

我是h1标题

"+ "
"+ "\"cportal图片\""+ "

这是标题 1

"+ "

这是标题 2

"+ "

这是段落

"+ "

这个段落设置了内边距。

"+ ""+ ""+ "
"+ ""+ ""+   ""+   ""+ ""+ ""+   ""+   ""+ ""+ ""+   ""+   ""+ ""+ "
MonthSavings
January

这是第一行

\"cctv.com图片\"

这是第二行

"+ "

有序列表:

"+ "
    "+ "
  1. 打开冰箱门
  2. "+ "
  3. 把大象放进去
  4. "+ "
  5. 关上冰箱门
  6. "+ "
"+ "

无序列表:

"+ "
    "+ "
  • 雪碧
  • "+ "
  • 可乐
  • "+ "
  • 凉茶
  • "+ "
";

1.2 引用的转换工具jar包

import gui.ava.html.image.generator.HtmlImageGenerator;

 

1.3 主要转换代码逻辑

import gui.ava.html.image.generator.HtmlImageGenerator;  


public class Html2ImageTest {

static String htmlTemplate = HtmlTemplate.HtmlTemplateStr;

    public static void main(String[] args) {  

        HtmlImageGenerator imageGenerator = new HtmlImageGenerator();  

        //加载html模版
        imageGenerator.loadHtml(htmlTemplate);

        //把html写入到图片
        imageGenerator.saveAsImage("hello-world.png");  
       }  
}

 

  1. 转换耗时

简单的html页面0.3-0.5秒之间;

稍复杂点的页面在0.9秒甚至更多一点。

  1. 转换结果图片

java把html转成图片的方法_第1张图片

 

使用cctv.com和cportal的图片可正常显示,使用百度图库、一些素材库网如17sucai的图片不可正常显示。

  1. 结果评估
  1. 大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功,目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。
  2. 转换耗时在0.3-1秒之间,可接受,不影响用户体验。

你可能感兴趣的:(java)