写点什么

java 使用 Html2Image 将 html 转图片

  • 2022 年 4 月 24 日
  • 本文字数:1517 字

    阅读完需:约 5 分钟

<artifactId>html2image</artifactId>


<version>0.9</version>


</dependency>


<dependency>


<groupId>cn.hutool</groupId>


<artifactId>hutool-all</artifactId>


<version>5.0.6</version>


</dependency>


转换代码


HtmlImageGenerator imageGenerator = new HtmlImageGenerator();


String htmlstr = "<table style="width: 700px;font-size:16px;font-family: 'Microsoft YaHei';" cellpadding="0" cellspacing="0">\n" +


" <tr >\n" +


" <th style="background-color: #f2f2f2;height: 30px;width: 700px; border:1px solid #e6e6e6;b 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 order-top:none;text-align: center;color: #333333;" colspan="2">收据</th>\n" +


" </tr>\n" +


" <tr style="width: 700px;">\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;height: 30px;" >日期</td>\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;border-left: 0px;height: 30px;">"+DateUtil.format(saleOrder.getCreateTime(), "yyyy-MM-dd HH:mm:ss")+"</td>\n" +


" </tr>\n" +


" <tr style="width: 700px;">\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;height: 30px;">交易编号</td>\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;border-left: 0px;height: 30px;">"+saleOrder.getOrderCode()+"</td>\n" +


" </tr>\n" +


" <tr style="width: 700px;">\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;height: 30px;">交易类型</td>\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;border-left: 0px;height: 30px;">捐赠</td>\n" +


" </tr>\n" +


" <tr style="width: 700px;">\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;height: 30px;">交易金额</td>\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;border-left: 0px;height: 30px;">"+saleOrder.getProductPrice()+"</td>\n" +


" </tr>\n" +


" <tr style="width: 700px;">\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;height: 30px;">付款人</td>\n" +


" <td style="border:1px solid #e6e6e6;border-top:none;text-align: center;color: #666666;border-left: 0px;height: 30px;">"+saleOrder.getUserName()+"</td>\n" +


" </tr>" +


"</table>";


imageGenerator.loadHtml(htmlstr);


BufferedImage bufferedImage = getGrayPicture(imageGenerator.getBufferedImage());


ByteArrayOutputStream outputStream = new ByteArrayOutputStream();


try {


ImageIO.write(bufferedImage, "jpg", outputStream);


String base64Img = Base64.encodeBase64String(outputStream.toByteArray());


String res = "data:image/jpg;base64," + base64Img.toString();


modelAndView.addObject("imageres", res);


} catch (IOException e) {


e.printStackTrace();


}finally {


if(outputStream != null){


try {


outputStream.close();


} catch (IOException e) {


e.printStackTrace();


}


}


}


这个是用于重新设置画布背景颜色的?

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
java  使用Html2Image将html转图片_Java_爱好编程进阶_InfoQ写作社区