vue中使用vue-print.js实现多页打印


Posted in Javascript onMarch 05, 2020

本文主要介绍了vue项目中使用print.js打印,解决多页,分页,打印预览样式修改等问题。

引入安装vue-print.js

cnpm i vue-printjs --save-dev

解决打印多页只出现一页问题

由于打印插件存在问题,如果打印文件超出一页,只显示一页,所以我们需要修改print.js源文件,所以只能手动下载vue-print.js到本地,做一些修改,然后引入到项目中,不能使用npm安装

下载 print.js

https://github.com/zxc19890923/print/blob/master/print.js
在src目录下面创建plugins/print/Print.js文件保存插件内容

修改 print.js

// 搜索getStyle方法,添加:str += "<style>html,body,div{height: auto!important;font-size:14px}</style>";

 getStyle: function () {
  var str = "",
   styles = document.querySelectorAll('style,link');
  for (var i = 0; i < styles.length; i++) {
   str += styles[i].outerHTML;
  }
  str += "<style>" + (this.options.noPrint ? this.options.noPrint : '.no-print') + "{display:none;}</style>";
  str += "<style>html,body,div{height: auto!important;font-size:14px}</style>";

  return str;
 },

main.js中引入插件

...
import Print from './plugins/print/Print'
Vue.use(Print)

vue文件中的使用

<div class="show">
    这是展示的需要打印的内容,给用户看的。
  </div>
  <div ref="print" class="recordImg" id="print">
    这里是需要打印的内容,出现在打印预览的界面,这里的样式需要写在 @media print {}里面 如果需要设置预览页规则,页脚等样式 @page {} 
    <div class="no-print">不需要打印的内容</div>
    <div class="do-not-print-div">不要打印我</div> 
    <button @click="printContext">打印</button>
  </div>
  ...
  <script>
    ...
    method: {
      printContext () {
        this.$print(this.$refs.print)
      }
      // 不打印方法1. 添加no-print样式类
      // 不打印方法2. this.$print(this.$refs.print,{'no-print':'.do-not-print-div'})
    }
  </script>

最后
1、为了打印全部,手动下载插件并修改。
2、打印内容样式需要写在 @media print {}中
3、this.$print(),不需要打印内容可以通过css,js两种方法控制。

到此这篇关于vue中使用vue-print.js实现多页打印的文章就介绍到这了,更多相关vue print.js 多页打印内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
Node.js(安装,启动,测试)
Jun 09 Javascript
node.js操作mysql(增删改查)
Jul 24 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
JS封装通过className获取元素的函数示例
Dec 20 Javascript
详解Vue.use自定义自己的全局组件
Jun 14 Javascript
vue如何获取点击事件源的方法
Aug 10 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
layui写后台表格思路和赋值用法详解
Nov 14 Javascript
基于elementUI竖向表格、和并列的案例
Oct 26 Javascript
express异步函数异常捕获示例详解
Nov 30 Javascript
koa2的中间件功能及应用示例
Mar 05 #Javascript
微信小程序利用for循环解决内容变更问题
Mar 05 #Javascript
javascript将16进制的字符串转换为10进制整数hex
Mar 05 #Javascript
js将URL网址转为16进制加密与解密函数
Mar 04 #Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
Mar 04 #Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
Mar 04 #Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 #Javascript
You might like
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
jquery 使用简明教程
2014/03/05 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
EasyUI在表单提交之前进行验证的实例代码
2016/06/24 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
火狐和ie下获取javascript 获取event的方法(推荐)
2016/11/26 Javascript
Javascript操作dom对象之select全面解析
2017/04/24 Javascript
vue 添加vux的代码讲解
2017/11/30 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
关于vue面试题汇总
2018/03/20 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue和better-scroll实现列表左右联动效果详解
2019/04/29 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
AutoJs实现刷宝短视频的思路详解
2020/05/22 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python数据分析之双色球基于线性回归算法预测下期中奖结果示例
2018/02/08 Python
python把转列表为集合的方法
2019/06/28 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
草莓网英国官网:Strawberrynet UK
2017/02/12 全球购物
沃尔玛旗下墨西哥超市:Bodega Aurrera
2020/11/13 全球购物
旅游管理实习自我鉴定
2013/09/29 职场文书
如何客观的进行自我评价
2013/12/17 职场文书
招聘单位介绍信
2014/01/14 职场文书
老公保证书
2015/01/17 职场文书
学生检讨书
2015/01/27 职场文书
让子弹飞观后感
2015/06/11 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
mysql联合索引的使用规则
2021/06/23 MySQL