java highcharts_java后台生成HighCharts图片
[b]在前端通过HighCharts获取svgCode,再根据svgCode生成图片。生成的图片在插入到word文档中 freemarker, BASE64Encoder[/b]
[url]http://www.muxuanli.com:8888/lmx/blog/10[/url]
[b]1. 获取svgCode[/b]
var chart = $("#container").highcharts();
var svgCode = chart.getSVG();
[b]2. 根据svgCode生成图片[/b]
String svgImgPath = uploadFilePathService.getUploadFilePath()+"svg/"+salivaBox.getBarCode()+"_"+m+".png";
String svgCode = svgCodeList.get(m).replace("Highcharts.com.cn","");
SvgPngConverter.convertToPng(svgCode, svgImgPath);
params.put("image"+(m+1), SvgPngConverter.getImageBASE64Encoder(svgImgPath));
[b]3. SvgPngConverter[/b]
import java.io.*;
import org.apache.batik.transcoder.TranscoderException;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.PNGTranscoder;
import sun.misc.BASE64Encoder;
/**
* Created by lijie on 17/6/5.
*/
public class SvgPngConverter {
/**
*@Description: 将svg字符串转换为png
*@Author:
*@param svgCode svg代码
*@param pngFilePath 保存的路径
*@throws IOException io异常
*@throws TranscoderException svg代码异常
*/
public static void convertToPng(String svgCode,String pngFilePath) throws IOException,TranscoderException{
File file = new File (pngFilePath);
FileOutputStream outputStream = null;
try {
file.createNewFile ();
outputStream = new FileOutputStream (file);
convertToPng (svgCode, outputStream);
} finally {
if (outputStream != null) {
try {
outputStream.close ();
} catch (IOException e) {
e.printStackTrace ();
}
}
}
}
/**
*@Description: 将svgCode转换成png文件,直接输出到流中
*@param svgCode svg代码
*@param outputStream 输出流
*@throws TranscoderException 异常
*@throws IOException io异常
*/
public static void convertToPng(String svgCode,OutputStream outputStream) throws TranscoderException,IOException{
try {
byte[] bytes = svgCode.getBytes ("UTF-8");
PNGTranscoder t = new PNGTranscoder ();
TranscoderInput input = new TranscoderInput (new ByteArrayInputStream (bytes));
TranscoderOutput output = new TranscoderOutput (outputStream);
t.transcode (input, output);
outputStream.flush ();
} finally {
if (outputStream != null) {
try {
outputStream.close ();
} catch (IOException e) {
e.printStackTrace ();
}
}
}
}
public static String getImageBASE64Encoder(String imagePath) {
InputStream in = null;
byte[] data = null;
try {
in = new FileInputStream(imagePath);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(data);
}
}
java highcharts_java后台生成HighCharts图片相关推荐
- 纯后台生成highcharts图片有哪些方法?
比如说,领导抛给你一个需求,把一些数据做成图表,每天通过邮件发送,让领导能在邮件中就看到图片,你会有什么思路呢? 本人使用的是phantomjs这个神器,它的内核是WebKit引擎,不提供图形界面,只 ...
- Java生成png文件字体不清晰,java操作字体生成png图片,该怎么解决
java操作字体生成png图片 java生成png图片,前提不能固定图片大小,根据文字和文字字号 自动生成png图片. 网上找了一些方法都是需要固定图片大小然后生成图片的.有没有办法解决自动生成文字p ...
- JAVA通过Graphics2D生成表格图片
目录 一.背景 二.效果图 三.主要类 四.环境要求 五.完整代码 一.背景 由于钉钉机器人目前不支持发送表格消息,所以想通过Graphics2D绘制表格生成图片文件后转Base64发送,在参考了其他 ...
- 素描java字母_生成素描图片
importjava.awt.color.ColorSpace;importjava.awt.image.BufferedImage;importjava.awt.image.ColorConvert ...
- java 网络请求 生成本地图片
注:https://www.cnblogs.com/faunjoe88/p/7478010.html https://blog.csdn.net/qq_36409820/article/details ...
- java echarts 生成图片_java如何在后台生成echarts图表?实际代码展示
学习是一个永无止境的过程,关于java的学习更是如此.今天主要为大家介绍下,如何在java中后台生成echarts图表,并且为大家展示实际的操作流程. 首先说下它的适用情况:⑴.支持echart4.0 ...
- java实现后台直接生成二维码图片并直接上传到七牛云上面
java实现后台直接生成二维码图片并直接上传到七牛云上面 需求:后台是直接根据唯一核销码生成图片,然后的话直接上传到七牛云,数据库只是保存地址,一开始也想错了,想成了创建临时文件存储生成的图片再上传到 ...
- Java后台生成图表——主代码(折线图,饼状图,柱状图,-》并产出图片PDF或其他格式的图片内容)
声明: 本文采用的数据均来源于网络,本人只用于学习记录,若有侵权,还望能及时联系. Maven 的 POM 依赖 <!--必要--><!--用于jfreechart生成图片 --&g ...
- Java使用iText生成word文 表格、图片、表格里插图片、页眉、页脚、图片页脚、(学习帖)
刚开始自己写的时候上网搜帖子,相信大家都看见了,千篇一律很多东西压根就不提,做了好几天,终于成形了.好了,立马分享! 好了,首先是我的js部分,这里是highchars的方法获取图片字符串直接提交到了 ...
最新文章
- ONNX MLIR应用示例(含源码链接)
- 2021年大数据ELK(三):Lucene全文检索库介绍
- SQL Server 2012笔记分享-48:备份时间线
- Linux 有趣命令
- 【PAT乙级】1076 Wifi密码 (15 分)
- 如何跟下属进行沟通?
- 在linux桌面死掉时kill之
- android7.1 shotcuts,Android N App Shotcuts 学习
- Vue全家桶 之 Vue基础
- Integer的127与128
- BZOJ 1607 [Usaco2008 Dec]Patting Heads 轻拍牛头:统计 + 筛法【调和级数】
- c语言把文件看作是一个字符序列,C语言对文件的操作
- candidate master_已毕业研究生
- linux图片什么格式文件怎么打开,解决Linux平台下无法打开jpg文件(提示: “Not a JPEG file: starts with 0x89 0x50”)的方法...
- python小技巧:求32位二进制负数的补码,附剑指offer中的应用
- PNG文件编码解析之PNG文件格式中的所有数据块以及标识
- react-prev
- Python学习笔记——speech智能语音模块
- 盘点6个靠谱正规的赚钱软件(有用赶快收藏)
- 【java】查看 Java 所有字体的 代码。java字体对照小程序
热门文章
- 蓝牙防丢设备 AirTag
- C# Flurl 高性能的访问http
- 运行于Windows中的GIZA++( GIZA++ working inWindows Platform)
- 缺少对象 index.php 行123,Microsoft VBScript 运行时错误 (0x800A01A8)缺少对象: ''
- 企业服务,赛道决定路径
- XCZU15EG学习资料保存第527篇:基于3U VPX XCZU15EG+TMS320C6678的信号处理板
- 新加坡南洋理工计算机科学院排名,南洋理工大学世界排名及专业排名汇总(THE世界大学排名版)...
- vivo 云服务海量数据存储架构演进与实践
- HDFS的主要设计理念
- 德语环境下浮点数精度错乱的解决办法