使用cssbox将html文件转为图片文件
导读:在我的另一篇博客 使用freemarker动态填充html并可转为图片中,大家已经了解到如何使用freemarker动态填充html文件了,那么如何将html文件转为图片文件呢?1. 引入依赖<dependency> &...
在我的另一篇博客 使用freemarker动态填充html并可转为图片中,大家已经了解到如何使用freemarker动态填充html文件了,那么如何将html文件转为图片文件呢?
1. 引入依赖
dependency> groupId> net.sf.cssbox/groupId> artifactId> cssbox/artifactId> version> 4.14/version> /dependency>
2. 编写Util类
public class Html2ImageUtil { public static void transferHtml2Image(String htmlFilePath, String imageFilePath, Integer width, Integer height) { ImageRenderer render = new ImageRenderer(); render.setWindowSize(new Dimension(width, height), false); String url = new File(htmlFilePath).toURI().toString(); try { FileOutputStream out = new FileOutputStream(imageFilePath); render.renderURL(url, out, ImageRenderer.Type.PNG); } catch (Exception e) { e.printStackTrace(); } } }
3. 调用Util
Html2ImageUtil.transferHtml2Image("result.html", "result.png", WIDTH_IMAGE, HEIGHT_IMAGE);
然后就可在项目根目录下找到生成的名为"result.png"
的图片文件啦。
4. 存在的问题
对于外部引用的js
不支持;虽然存在不完美的地方,但仍然不失为一个好用的html
转图片的工具哦~
5. 改进
如果大家觉得效果不够好,可以尝试使用cssbox的5.0.0版本,详见我的另一篇博客:使用5.0.0版本的cssbox将html文件转为图片文件,并解决字体显示问题
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 使用cssbox将html文件转为图片文件
本文地址: https://pptw.com/jishu/340462.html