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;}"+

""+

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

"

我是h1标题

"+

"

"+

"\"cportal图片\""+

"

这是标题 1

"+

"

这是标题 2

"+

"

这是段落

"+

"

这个段落设置了内边距。

"+

""+

""+

"

"+

"

"

"+

"

Month"+

"

Savings"+

"

"+

"

"+

"

January"+

"

这是第一行

"+

"

"+

"

"+

  "

\"cctv.com图片\""+

"

这是第二行

"+

"

"+

"

"+

"

有序列表:

"+

"

  1. "+

"

打开冰箱门"+

"

把大象放进去"+

"

关上冰箱门"+

"

"+

"

无序列表:

"+

"

  • "+

"

雪碧"+

"

可乐"+

"

凉茶"+

"

";

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秒甚至更多一点。

转换结果图片

f49fee726792700bb651efb0aec9a47c.png

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

结果评估

大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功,目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。

转换耗时在0.3-1秒之间,可接受,不影响用户体验。


版权声明:本文为weixin_36018748原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。