vue单页面使用window.print()多张打印

因为项目使用了侧边菜单,在vue单页面中无法精准控制打印的数据,总是会把侧边栏给一起打印出来, 所以使用原生的方式,生成一个新的窗口去打印, 实例如下

 let htmlStr = `
                 <div style="page-break-after:always;">第一页</div>
                 <div style="page-break-after:always;">第二页</div>
               `
 let newWin = window.open(""); //新打开一个空窗口
 let imageToPrint = document.getElementById('print'); //将要被打印的图片
 newWin.document.write(htmlStr); // 打印内容
 newWin.document.close(); //在IE浏览器中使用必须添加这一句
 newWin.focus(); //在IE浏览器中使用必须添加这一句
 setTimeout(function() {
   newWin.print(); //打印
   newWin.close(); //关闭窗口
 }, 100);

div中的行内样式 page-break-after:always 会在元素后插入分页符,以此达到多张打印的效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CSS print 样式 标签(空格分隔): CSS 显示器(screen)和打印机(printer)是两种差别很...
    lumicinta阅读 6,485评论 0 0
  • 原文链接:https://lon.im/post/css-print.html 简介 本文主要讲解如何使用 CSS...
    龙好阅读 8,489评论 0 11
  • 引入样式: @media print{} 单位(cm,in英寸)1 inch = 2.54 cm1cm = 96/...
    神刀阅读 12,257评论 1 2
  • 打印样式 一、添加打印样式 为屏幕显示和打印分别准备一个css文件,如下所示:用于屏幕显示的css: 用于打印的...
    goodluckall阅读 10,910评论 0 1
  • css打印的基本设置 打印页面的一些属性,包括纸张尺寸,方向,页边距,分页,页眉,页脚,水印等等特性,大多数可以通...
    灵籁阅读 12,155评论 0 4