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中巧用cssText属性批量操作样式
Mar 13 Javascript
探索Emberjs制作一个简单的Todo应用
Nov 07 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
Jan 09 Javascript
jQuery中removeAttr()方法用法实例
Jan 05 Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
Vue实现选择城市功能
May 27 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
Jun 12 jQuery
JS实现快速比较两个字符串中包含有相同数字的方法
Sep 11 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
Sep 16 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
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
js淡入淡出的图片轮播效果代码分享
2015/08/24 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
每天一篇javascript学习小结(Function对象)
2015/11/16 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
js轮播图无缝滚动效果
2017/06/17 Javascript
小发现之浅谈location.search与location.hash的问题
2017/06/23 Javascript
vue 实现全选全不选的示例代码
2018/03/29 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
node.JS事件机制与events事件模块的使用方法详解
2020/02/06 Javascript
vue中使用vue-pdf的方法详解
2020/09/05 Javascript
Vue+element-ui添加自定义右键菜单的方法示例
2020/12/08 Vue.js
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
python opencv读mp4视频的实例
2018/12/07 Python
python实现ip代理池功能示例
2019/07/05 Python
pandas的to_datetime时间转换使用及学习心得
2019/08/11 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
网上开商店的创业计划书
2014/01/19 职场文书
小学节能减排倡议书
2014/05/15 职场文书
北京天坛导游词
2015/02/12 职场文书
小王子读书笔记
2015/06/29 职场文书
深入浅析React中diff算法
2021/05/19 Javascript