使用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
