1.概要
此文以 poi报表开发1-PhantomJS工具安装 为基础。利用PhantomJS与echarts生成图表图片,供报表使用。
思路:创建报表json文件,执行PhantomJS命令(需要指定json文件、图片文件、echarts-convert.js)生成图片。
2.cmd执行PhantomJS命令
创建json文件。
test.json:
{
"title": {
"text": "七日年化收益率%"
},
"legend": {
"data": ["七日年化收益率"]
},
"xAxis": {
"data": ["2019/4/1", "2019/4/2", "2019/4/3", "2019/4/4", "2019/4/5", "2019/4/6", "2019/4/7"]
},
"yAxis": [{
"position": "left"
}
],
"series": [{
"name": "七日年化收益率",
"type": "line",
"smooth": true,
"symbol": "none",
"data": [2.9634, 3.3671, 3.4675, 3.4501, 2.819, 3.2134, 3.6077]
}
]
}
组装命令字符串:
命令结构:phantomjs安装的bin目录全路径 + /phantomjs + echarts-convert.js全路径 + " -infile " + json文件全路径 + 生成图片全路径
D:/it/work/software/phantomjs-2.1.1-windows/bin/phantomjs D:/it/work/software/phantomjs-2.1.1-windows/bin/echarts-convert.js -infile E:/echarts/test.json -outfile E:/echarts/test.png
执行命令:
test.png如下:
3.java程序执行PhantomJS命令
import java.io.IOException;
public class PhantomjsTest {
public static void main(String[] args) throws IOException {
// 创建phantomjs命令(必须用全路径)
String phantomjsCmd =
"D:/it/work/software/phantomjs-2.1.1-windows/bin/phantomjs"
+ " D:/it/work/software/phantomjs-2.1.1-windows/bin/echarts-convert.js"
+ " -infile E:/echarts/test.json"
+ " -outfile E:/echarts/test.png";
Process process = Runtime.getRuntime().exec(phantomjsCmd);
if (process != null) {
try {
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
process.destroy();
}
}
}
同样可以正常生成test.png。
【END】