java html生成图片 | 您所在的位置:网站首页 › Java生成图片 › java html生成图片 |
前言:最近,项目上需要实现一个功能,将html页面元素,以图片的故事保存在本地。在网上查阅资料很久,才勉强找到解决方案。
1、JAR包下载 pom: gui.ava html2image 0.9 百度云链接:https://pan.baidu.com/s/1MYu2wmCVf5qsronPNKUbRw 两种方案都可以使用,前者满足maven使用,后者单纯jar包文件。
2、实例代码: import gui.ava.html.image.generator.HtmlImageGenerator; /** * 生成图片demo */ public class DemoClass { public static void main(String[] args){ HtmlImageGenerator imageGenerator = new HtmlImageGenerator(); String htmlStr = "技术成就一切!" + "![]() ![]()
3、效果:
4、HtmlImageGenerator方法扩展 loadUrl(url) - Loads HTML from URL object or URL string. (从url载入html) loadHtml(html) - Loads HTML source. (载入本地html) saveAsImage(file) - Save loaded HTML as image. (以图片形式保存html) saveAsHtmlWithMap(file, imageUrl) - Creates an HTML file containing client-side image-map generated from HTML's links. (创建一个HTML文件包含客户端image-map) getLinks() - List all links in the HTML document and their corresponding href, target, title, position and dimension. (列出所有在HTML文档的链接和相应href、目标、头衔、位置和尺寸) getBufferedImage() - Get AWT buffered image of the HTML. (获得awt,html缓冲后的图片) getLinksMapMarkup(mapName) - Get HTML snippet of the client-side image-map generated from the links. (HTML代码段里获得的客户端image-map 产生的链接) get/setOrientation(orientation) - Get/Set document orientation (left-to-right or right-to-left). (get/set文本定位) get/setSize(dimension) - Get/Set size of the generated image. (设置生成图片大小)
5、踩坑实录: 图片转化失败。当html代码里带有图片时,生成的程序必须有一定的等待时间,否则无法正常生成图片。 try { imageGenerator.getBufferedImage();//转化图片 Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } 正式环境无法生成中文,原因是包含中文的html转换为image,而html中的字体默认使用的是系统字体,在windows上部署没有问题,但是在linux中运行的时候,由于没有中文相关字体,导致生成的图片中的汉子无法识别。解决方案:https://blog.csdn.net/leo3070/article/details/82773405 大部分常用的Html元素如h1、p、div、img、table、li、lu等可带样式转换成功。目前常用的input标签转换不成功,在生成的图片中不显示。图片大小显示正常。 注意生成的图片要以png为后缀,以jpg结尾会全黑。
6、参考资料: java把html转成图片的方法:https://blog.csdn.net/superit401/article/details/82629524 Html2Image (JAVA):https://blog.csdn.net/xu_san_duo/article/details/78084582 java Html2Image 实现html转图片功能:https://www.cnblogs.com/zxf330301/p/5666592.html Java 实现HTML 页面转成image 图片:https://blog.csdn.net/oscar999/article/details/8696769 Html转图片的那些事:https://www.jianshu.com/p/f3c1490e29c7本文由上述资料整合而来,谢绝转载。
|
CopyRight 2018-2019 实验室设备网 版权所有 |