一些总结
html2image
示例代码如下:
1 2 3 4 5 6
| 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:
1 2 3 4 5
| <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/
示例代码如下:
1 2 3 4 5 6
| 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:
1 2 3 4 5
| <dependency> <groupId>net.sf.cssbox</groupId> <artifactId>cssbox</artifactId> <version>4.12</version> </dependency>
|
优点:调用非常简单,能支持较多的css。
遇到的问题
1、部署到测试linux系统,正常,部署到线上linux系统,发现导出的图片中文文字全部不显示。
原因:不支持中文字体。(安装字体请看:linux相关知识)