java html转图片格式_java把html转成图片的方法
代码
1.1 html模版
static String HtmlTemplateStr =
"
"body {background-color: yellow}"+
"h1 {background-color: #00ff00}"+
"h2 {background-color: transparent}"+
"p {background-color: rgb(250,0,255)}"+
"p.no2 {background-color: gray; padding: 20px;}"+
""+
""+
"
我是h1标题
"+"
""+
"
这是标题 1
"+"
这是标题 2
"+"
这是段落
"+"
这个段落设置了内边距。
"+""+
""+
"
"+ ""+ " 这是标题 1"+ " 这是标题 2"+ " 这是段落"+ " 这个段落设置了内边距。"+ ""+ ""+ ""
"
"+"
Month"+"
Savings"+"
"+"
"+"
January"+"
这是第一行
"+"
"+"
"+"
"+"
这是第二行
"+"
"+"
"+"
有序列表:
"+"
- "+
"
打开冰箱门"+"
把大象放进去"+"
关上冰箱门"+"
"+"
无序列表:
"+"
-
"+
"
雪碧"+"
可乐"+"
凉茶"+"
";1.2 引用的转换工具jar包
importgui.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");
}
}
转换耗时
简单的html页面0.3-0.5秒之间;
稍复杂点的页面在0.9秒甚至更多一点。
转换结果图片
使用cctv.com和cportal的图片可正常显示,使用百度图库、一些素材库网如17sucai的图片不可正常显示。
结果评估
大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功,目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。
转换耗时在0.3-1秒之间,可接受,不影响用户体验。
代码 1.1 html模版 static String HtmlTemplateStr = " "body {background-color: yellow}"+ "h1 {background-color: #00ff00}"+ "h2 {background-color: transparent}"+ "p {background-color: rgb(250,0,255)}"+ "p.no2 {background-color: gray; padding: 20px;}"+ ""+ ""+ " 我是h1标题"+ " "+ ""+ " 这是标题 1"+ " 这是标题 2"+ " 这是段落"+ " 这个段落设置了内边距。"+ ""+ ""+ " "+ " ""+ "Month"+ "Savings"+ ""+ ""+ "January"+ " 这是第一行"+ ""+ ""+ " "+ " 这是第二行"+ ""+ ""+ " 有序列表:"+ " "+ "打开冰箱门"+ "把大象放进去"+ "关上冰箱门"+ ""+ " 无序列表:"+ " "+ "雪碧"+ "可乐"+ "凉茶"+ ""; 1.2 引用的转换工具jar包 importgui.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"); } } 转换耗时 简单的html页面0.3-0.5秒之间; 稍复杂点的页面在0.9秒甚至更多一点。 转换结果图片 使用cctv.com和cportal的图片可正常显示,使用百度图库、一些素材库网如17sucai的图片不可正常显示。 结果评估 大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功,目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。 转换耗时在0.3-1秒之间,可接受,不影响用户体验。