首页 前端知识 java 使用Html2Image将html转图片

java 使用Html2Image将html转图片

2024-06-05 13:06:30 前端知识 前端哥 163 379 我要收藏

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

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

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

" \n" +

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

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

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

" \n" +

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

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

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

" \n" +

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

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

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

" " +

“”;

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();

}

}

}

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

public BufferedImage getGrayPicture(BufferedImage originalImage)

{

BufferedImage grayPicture;

int imageWidth = originalImage.getWidth();

int imageHeight = originalImage.getHeight();

grayPicture = new BufferedImage(imageWidth, imageHeight,

BufferedImage.TYPE_INT_RGB);

ColorConvertOp cco = new ColorConvertOp(ColorSpace

.getInstance(ColorSpace.CS_GRAY), null);

cco.filter(originalImage, grayPicture);

return grayPicture;

}

前端:

效果:

loadUrl(url) (从url载入html)

loadHtml(html) (载入本地html)

saveAsImage(file) (以图片形式保存html)

saveAsHtmlWithMap(file, imageUrl) (创建一个HTML文件包含客户端image-map)

getLinks()(列出所有在HTML文档的链接和相应href、目标、头衔、位置和尺寸)

getBufferedImage() (获得awt,html缓冲后的图片)

getLinksMapMarkup(mapName) (HTML代码段里获得的客户端image-map <地图>产生的链接)

get/setOrientation(orientation) (get/set文本定位)

get/setSize(dimension) (设置生成图片大小)

参考文章
https://blog.csdn.net/luohaobubu/article/details/7414554?utm_source=blogxgwz5

面试结束复盘查漏补缺

每次面试都是检验自己知识与技术实力的一次机会,面试结束后建议大家及时总结复盘,查漏补缺,然后有针对性地进行学习,既能提高下一场面试的成功概率,还能增加自己的技术知识栈储备,可谓是一举两得。

以下最新总结的阿里P6资深Java必考题范围和答案,包含最全MySQL、Redis、Java并发编程等等面试题和答案,用于参考~

重要的事说三遍,关注+关注+关注!

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

image.png

更多笔记分享

历经30天,说说我的支付宝4面+美团4面+拼多多四面,侥幸全获Offer

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
1714430756775)]

更多笔记分享

[外链图片转存中…(img-fsfvr7Yg-1714430756775)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

转载请注明出处或者链接地址:https://www.qianduange.cn//article/10807.html
标签
评论
发布的文章
大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!