vue打印带有ant-design样式

9 篇文章 0 订阅
本文探讨了在使用html2canvas将DOM转换为图片以进行打印时,如何处理ant-design样式丢失的问题。通过创建一个新的窗口,注入自定义样式并引入canvas数据URL,成功地在打印内容中保留了布局和文字,但未能应用Ant Design的样式。文章提供了一段JavaScript代码示例,展示如何实现这一过程。
摘要由CSDN通过智能技术生成

打印带有ant-design样式,直接选择dom用html转没有ant样式,只能是文字和排版

打印内容外层包裹dom

利用html2canvas转换dom为图片,用image标签引入canvas即可

<div id="modal-body-print">

打印的整个dom
</div>
 
    print () {
      this.contentH = 'auto'
      const modalElement = document.getElementById('modal-body-print');
      html2canvas(modalElement).then(function (canvas) {
        setTimeout(() => {
          let mywindow = window.open('', '', 'height=800,width=1000'); // 新的窗口
          mywindow.document.write(`
                          <html>
                          <head>
                              <title></title>
                              <style type="text/css">
                                  @page { margin: 0; } body{ padding: 20px; }
                              </style>
                          </head>
                          <body>`);
          mywindow.document.write('<h1>' + document.title + '</h1>');
          mywindow.document.write(`<br><img src="${canvas.toDataURL()}"/>`);
          mywindow.document.write('</body></html>');
          mywindow.document.close(); //  IE >= 10 必要的兼容写法
          mywindow.focus(); //  IE >= 10*/ 必要的兼容写法
          mywindow.print();
          this.contentH = 150
        }, 200)
      });
    },

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值