一些总结
html2image
示例代码如下:
HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
String htmlstr = "<div>xxxxxxxxx</div>";
imageGenerator.loadHtml(htmlstr);
imageGenerator.getBufferedImage();
imageGenerator.saveAsImage("d:/hello-world.png");
imageGenerator.saveAsHtmlWithMap("hello-world.html", "hello-world.png");
maven:
<dependency>
<groupId>com.github.xuwei-k</groupId>
<artifactId>html2image</artifactId>
<version>0.1.0</version>
</dependency>
放弃的原因:
1、css样式不能写在<style>
标签中,不能引用其他css文件,只能写在style属性中。
2、对css的支持不好。
cssbox
官网:http://cssbox.sourceforge.net/
示例代码如下:
ImageRenderer render = new ImageRenderer();
String url = "";
FileOutputStream out = new FileOutputStream(new File(filePath));
render.setWindowSize(new Dimension(1080,1920), false);
render.renderURL(url, out, ImageRenderer.Type.PNG);
out.close();
maven:
<dependency>
<groupId>net.sf.cssbox</groupId>
<artifactId>cssbox</artifactId>
<version>4.12</version>
</dependency>
优点:调用非常简单,能支持较多的css。
遇到的问题
1、部署到测试linux系统,正常,部署到线上linux系统,发现导出的图片中文文字全部不显示。
原因:不支持中文字体。(安装字体请看:linux相关知识)