最近有时间,就整理整理自己做过的项目~这是某医院的微信网页开发项目。
话不多说,进入正题
1.引入依赖:
<dependency>
<groupId>gui.avagroupId>
<artifactId>html2imageartifactId>
<version>0.9version>
dependency>
2.实现代码如下:
service层
public void getImage(Long id, HttpServletResponse response) throws DataAccessException {
try {
/*String headHtml = "";*/
String headHtml ="最新检验结果
";//html代码
HtmlToImageUtil.toImage(headHtml , response);}catch(Exception e){
logger.info(e);}}controller层
@ResponseBody
@RequestMapping("/getImage")
public void getImage(@RequestParam Long id, HttpServletResponse response) {
dimsService.getImage(id, response);
}
工具类:
public class HtmlToImageUtil {
public static void toImage(String html, HttpServletResponse response) {
try {
response.setCharacterEncoding("utf-8");
OutputStream out = response.getOutputStream();
HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
imageGenerator.loadHtml(html);//也可以根据html url引用 loadUrl的方式加载
BufferedImage bufferedImage = imageGenerator.getBufferedImage();
Graphics2D g = bufferedImage.createGraphics();
Font font = new Font("Microsoft YaHei", Font.BOLD, 12);
g.setFont(font);
Thread.sleep(1000); //有时会有加载图片延迟,因此这里设置下延时
ImageIO.write(bufferedImage, "png", out);//输出图片 图片泛红(1)jpg改成png即可
out.close();
/*imageGenerator.getBufferedImage();*/
//Thread.sleep(2000);
/* String imageName = "C:\\"+ UUID.randomUUID().toString() + ".png";*/
/*imageGenerator.saveAsImage(imageName);*/
} catch (Exception e) {
e.printStackTrace();
}
}
}
结果:

颜色是因为后台指标判断标准数值后加了不同的color属性。
以上便是全部过程,有啥问题,欢迎留言!
觉得还不错可以点个赞哦~ 谢谢(๑•ᴗ•๑)
你可能感兴趣的:(javaweb,java基础,业务实战,html转成图片,后台返回图片)
项目名称 结果 单位 参考值 提示