在项目中遇到一个问题需要实现单页打印和批量打印功能,研究了测试了一番解决了,把相关的功能记录下,方便自己以后查阅,本项目vue cli3环境下的,其他的前端框架也是类似的:

一、单页打印

vue-print-nb插件:这是用于打印,简单,快速,方便,轻便的指令包装。

安装:

npm install vue-print-nb --save

在main.js全局引入注册(也可在组件引入):

import Print from 'vue-print-nb'

Vue.use(Print);

在需要打印的页面元素上加上id值

床前明月光

疑似地上霜

举头望明月

低头思故乡

打印

export default {

data() {

printObj: {

id: "printTest", //打印页面的id

popTitle: 'good print', //打印的标题

endCallback() //打印成功后的回调

}

}

}

一、批量打印

批量打印这里用的其实就是纯js的写法,直接上代码吧:

  • :id="'printDiv' + index" style="page-break-after:always;">

    {{item.date}}

    {{item.name}}

    {{item.province}}

    {{item.city}}

    {{item.address}}

    {{item.zip}}

打印

export default {

data() {

return {

tableData: [{

date: '2016-05-03',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-02',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-04',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-01',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-08',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-06',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}, {

date: '2016-05-07',

name: '王小虎',

province: '上海',

city: '普陀区',

address: '上海市普陀区金沙江路 1518 弄',

zip: 200333

}]

}

},

methods: {

handlePrint() {

var newWin = window.open(""); //新打开一个空窗口

for (var i = 0; i < this.tableData.length; i++) {

var imageToPrint = document.getElementById("printDiv" + i); //获取需要打印的内容

newWin.document.write(imageToPrint.outerHTML); //将需要打印的内容添加进新的窗口

}

const styleSheet = ``;

newWin.document.head.innerHTML = styleSheet; //给打印的内容加上样式

newWin.document.close(); //在IE浏览器中使用必须添加这一句

newWin.focus(); //在IE浏览器中使用必须添加这一句

setTimeout(function() {

newWin.print(); //打印

newWin.close(); //关闭窗口

}, 100);

}

}

}

.print-ul {

width: 600px;

list-style: none;

border: 1px solid #e8e8e8;

}

js一键批量打印_前端vue项目实现批量打印功能相关推荐

  1. lodop指定打印机打印_前端使用lodop插件进行打印设置

    function PrintEntryOrder(data) { CreateEntryPrintPage(data); } function CreateEntryPrintPage(data) { ...

  2. jsencrypt vue使用_在Vue项目中使用jsencrypt.js对数据进行加密传输

    项目需求中需要对用户登录时的密码进行加密,在网上查询些许文章后,最终与后端协商使用jsencrypt.js. 使用yarn安装至Vue项目 yarn add jsencrypt --dev 或者使用n ...

  3. 前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现

    前端vue项目(使用pdf.js) pdf展示及pdf工具栏放大缩小功能实现 1.vue项目pdf展示 2.pdf工具栏放大缩小功能 文章目录 前端vue项目(使用pdf.js) pdf展示及pdf工 ...

  4. Jenkins自动化部署前端Vue项目

    Jenkins自动化部署前端Vue项目 前言 安装NodeJs 下载NodeJs 安装NodeJs npm配置 Jenkins配置NodeJs 安装NodeJs插件 配置NodeJs 新建及配置任务 ...

  5. 前端Vue项目实现CDN加速

    前端Vue项目实现CDN加速 我们在开发前端项目的时候难免会遇到请求响应慢,页面数据渲染慢,等等问题.浏览器从服务器上下载 CSS.js 和图片等文件时都要和服务器连接,而大部分服务器的带宽有限,如果 ...

  6. Windows服务器部署前端vue项目

    阿里云Windows服务器部署前端vue项目 准备工作 下载node.js(略)http://nodejs.cn/download/ 下载Nginx http://nginx.org/en/downl ...

  7. vue 项目中页面打印实现(去除页眉页脚)

    vue 项目中页面打印实现 参考文章: 13 Paged media 项目描述: 背景:框架vue.组件 element-ui,已有一个在用的后台管理系统 需求:现需在列表页面添加按钮-----打印协 ...

  8. 服务器上部署前端Vue项目代码

    服务器上部署前端Vue项目代码 本人自己感觉部署前端代码比部署后端难,主要是我在部署的过程中遇到了各种报错

  9. 使用Docker安装的Nginx代理前端vue项目

    本篇文章主要是记录 一次使用 docker成功部署nginx之后,代理(部署)静态资源或前端vue项目,遇到的2个问题(docker安装nginx参考) 1.前置条件,防火墙关闭,开放80端口,doc ...

  10. vue项目做微信分享功能

    vue项目做微信分享功能 安装sdk npm install weixin-js-sdk --save 方法 1.新建js文件wxapi.js 2.在wxapi.js中引入sdk以及配置一些基本信息( ...

最新文章

  1. python的这几个小功能,你都会用了吗?
  2. linux的本地时间命令
  3. UESTC 1698 The Game
  4. 分享Kali Linux 2017年第17周镜像文件
  5. 支付和LBS定位对于O2O到底有多重要?
  6. [Java基础]SimpleDateFormat类基础
  7. 4Python切片功能剖析
  8. 头条、滴滴、百度实习面试试题及面试总结
  9. MCP2515在8M晶振控制器下配置1M波特率的配置
  10. linux 查看网卡厂商,linux下查看网卡信息的命令
  11. 用python模拟clark变换和park变换
  12. pron网站制作遇到的问题
  13. 迷你西游最新服务器是哪个,《迷你西游》新开服务器公告
  14. iphone开发笔记一 mac os 10.7.2安装与配置
  15. 【小Game】C++ - EGE - 躲避球小游戏
  16. 免费高效的Linux远程工具-MobaXterm最全图文总结
  17. BYOD是什么,云计算和BYOD之间,主要有什么关系?
  18. echarts圆环象性图,实现从低向上渲染颜色
  19. 微信看一看内容来源哪里?看一看推荐规则是什么?怎么赚钱?
  20. linux性能监控命令—tsar命令

热门文章

  1. 计算机二进制拨码,二进制拨码
  2. 360极速浏览器代理设置无效问题
  3. 容器-2018百战程序员JAVA全系列终结版第07阶:容器和数据结构
  4. 统计用区划代码和城乡划分代码
  5. 福禄克OptiFiber® Pro OTDR光线测试仪
  6. Java 定时任务表达式
  7. 最简单的Rest服务
  8. Python 100例
  9. 计算机考研复试汇总(所有科目)
  10. 两个实用型教学网站:菜鸟教程与W3School,估计是国内做得做好的了