打印功能

1.触发打印页面的方法

  const handlePrint = () => {
    const el = document.getElementById('printElement'); //获取节点
    const iframe = document.createElement('IFRAME'); //创建一个新的节点
    let doc = null;
    document.body.appendChild(iframe);
    doc = iframe.contentWindow.document; //获取document
    doc.write(el.innerHTML);
    doc.close();
    // 获取iframe的焦点,从iframe开始打印
    iframe.contentWindow.focus();
    iframe.contentWindow.print();
    if (navigator.userAgent.indexOf('MSIE') > 0) {
      // navigator.userAgent 中有浏览器类别、版本,客户端操作系统等信息
      // 如果是微软的IE浏览器
      document.body.removeChild(iframe);
    }
  };

2. 打印页面展示内容

      <div id="printElement" style={{ display: 'none' }}>
        <PrintComponent printData={printData} /> //根据printData数据绘制的页面
      </div>

 

posted @ 2022-06-28 17:42  天官赐福·  阅读(56)  评论(0编辑  收藏  举报
返回顶端