php+batik 实现导出highchart图片功能
程序员文章站
2022-04-19 18:29:43
...
最近有个导出需求需要将highchart的图片和数据报表一起生成。
折腾了几天,终于搞定。
1、首先你需要安装JAVA环境。不需要设置环境变量什么的。
2、下载相关的batik jar包,这个我下载了好多次都是错误的。附件里面有我整理好的。
3、调用官方写的PHP程序,我整理成一个函数了。
折腾了几天,终于搞定。
1、首先你需要安装JAVA环境。不需要设置环境变量什么的。
2、下载相关的batik jar包,这个我下载了好多次都是错误的。附件里面有我整理好的。
3、调用官方写的PHP程序,我整理成一个函数了。
function svgToImg($type, $svg, $filename){ clearFile(SAVE_PATH);//删除过期文件 ini_set('magic_quotes_gpc', 'off'); $svg = (string) $svg; $filename = (string) $filename; // prepare variables if (!$filename or !preg_match('/^[A-Za-z0-9\-_ ]+$/', $filename)) { $filename = 'chart'; } if (get_magic_quotes_gpc()) { $svg = stripslashes($svg); } // check for malicious attack in SVG if(strpos($svg,"$output"; echo "Error while converting SVG. "; } else { return $outfile; } } else if ($ext == 'svg') { header("Content-Disposition: attachment; filename=\"$filename.$ext\""); header("Content-Type: $type"); echo $svg; } else { echo "Invalid type"; } }
文件保存到本地,然后就可以随便搞了。
你要是实在嫌安装JAVA环境麻烦,可以直接模拟提交请求官方的导出地址。
上一篇: 关于YII关联查询的解析