本文主要介绍了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文件中的使用

<template><div ref="print" class="app-container" id="print"><el-form><el-form-item><div><b>姓 名</b></div><el-input v-model="user.name"></el-input></el-form-item><el-form-item><div><b>身份证号</b></div><el-input v-model="user.card_id"></el-input></el-form-item><el-form-item><div><b>护 照 号</b></div><el-input v-model="user.passport_id"></el-input></el-form-item><el-row><el-col :span="4" style="margin-right:20px;"><div><b>收样时间</b></div><el-date-pickerclass="date-box"type="date"v-model="user.receive_date"value-format="yyyy-MM-dd"></el-date-picker></el-col><el-col :span="4" style="margin-right:20px;"><div><b>检测时间</b></div><el-date-picker type="date" v-model="user.detect_date" value-format="yyyy-MM-dd"></el-date-picker></el-col></el-row><el-form-item><div><b>检测方法</b></div><el-select style="width:100%;" v-model="user.detect_way" placeholder="请选择检测方法"><el-option v-for="item of way" :label="item.label" :value="item.name"></el-option></el-select></el-form-item><el-form-item><div><b>检测结果</b></div><el-select style="width:100%;" v-model="user.detect_fruit" placeholder="请选择检测结果"><el-option v-for="item of result" :label="item.label" :value="item.name"></el-option></el-select></el-form-item><el-form-item class="no-print"><el-button type="primary" @click="submit()">只提交</el-button><el-button type="primary" @click="printContext">打印并提交</el-button></el-form-item></el-form></div>
</template>
methods: {//打印printContext() {this.$print(this.$refs.print);}// 不打印方法1. 添加no-print样式类// 不打印方法2. this.$print(this.$refs.print,{'no-print':'.do-not-print-div'})}

打印结果

vue 使用浏览器自带打印机打印功能相关推荐

  1. vue实现二维码批量打印功能

    vue实现二维码批量打印功能 业务需求:客户需要给每个商品贴上二维码,为了更加高效的完成这项工作需要配合热敏打印机实现批量打印二维码的需求,因为是web项目后端会部署到服务器上,因此只能通过js的方式 ...

  2. vue中使用Lodop调用打印机打印条形码

    最近项目遇到vue实现条形码打印功能,经过自己的一番摸索,找到了一款比较友好的打印插件,本次打印使用的Lodop插件进行功能的实现.(官网链接) 1.把官方提供的LodopFuncs.js文件保存到某 ...

  3. 【转】VS2013自带报表+打印功能

    VS自带报表控件和打印功能,这样就给我们这些编程者带来了很大的方便.下面就将我做程序的一些小经历来跟大家一起分享一下. 1,我们右击U层所在文件夹添加"新建项". 2,在弹出的的添 ...

  4. Vue使用Print插件实现页面打印功能/打印列表

    Vue使用Print插件实现页面打印 示例 官网地址可以下载最新版 官网 下载 npm 安装 npm install print-js --save npm安装时将库导入项目(main.js) imp ...

  5. Vue将HTML内容用打印机打印出来

    首先导入第三方插件 npm install vue-print-nb --save 在main.js中引入 import Print from 'vue-print-nb' Vue.use(Print ...

  6. MFC 实现打印机打印功能

    Visual C++6.0是开发Windows应用程序的强大工具,但是要通过它实现程序的打印功能,一直是初学者的一个难点,经常有朋友询问如何在VC中实现打印功能,他们往往感到在MFC提供的框架内实现这 ...

  7. avue-crud自带的打印功能BUG,在打印时会打印操作栏

    问题描述 打印时会显示操作栏  问题解决效果 代码如下: 用插槽自定义打印按钮,记得去掉option中的printBtn:true, 此处的打印,在试了很多组件后,决定使用vxe-table的打印组件 ...

  8. react 前端 实现打印机打印功能

    首先在页面中引入打印的页面设置id 以便打印的时候获取到. 我们的打印页面先创建一个这个文件 进行通过type选择需要打印的数据页面,其中的tableModal就是我们这次要打印的数据页面.在这个文件 ...

  9. 关闭Vue计算属性自带的缓存功能

    使用Vue的小伙伴都会知道,vue的计算属性.这个是这个样子解释的,当某些依赖值发生变化的时候,其自身的值也会发生变化,与之先关的DOM也会发生变化,通常呢,这个计算属性里面都会有两个方法:get和s ...

最新文章

  1. 【转】qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用
  2. excel粘贴时出现故障_了解这些信息,你会知道在ESXi5.0 的虚拟化系统下文件出现故障时,我们能做些什么?...
  3. 实训课俄罗斯方块之二授课计划总体规划
  4. 洛谷 1226 取余运算||快速幂
  5. PHP实训笔记,【学习笔记19】实验吧 让我进去
  6. oracle 五天之前,Oracle课程档案,第五天
  7. 仿新浪微博实现ListBox下拉刷新和到底部自动加载
  8. glibc库详解及与POSIX,system V这些库之间关系的说明
  9. 2345电脑管家_PS教程第一节:如何正确安装PScc?安装前做好这一步电脑才不会卡顿....
  10. Objective-C 中 NULL、nil、Nil、NSNull 的定义及不同
  11. python opencv3 圆检测
  12. C++ new 解析重载
  13. TCPDF支持php7,php – 我不能要求tcpdf库
  14. JAVA 实现阿里云的短信验证码
  15. MySQL-Front设置中文
  16. 在网址前加神秘字母,让你打开新世界(z)
  17. 抖快齐聚短剧战场,是加重“同质化”还是搅动“视频格局”?
  18. Unity Metaverse(二)、Mixamo Animator 混合树与动画融合
  19. 电脑卡顿反应慢怎么处理?电脑提速,4个方法!
  20. 各地发布防病提示,秋冬不注意腹泻来敲门

热门文章

  1. WampServer 3 访问403 Forbidden You don't have permission to access this resource 解决
  2. 有着许多强大功能的迅捷CAD看图软件
  3. java linkedlist排序_Java LinkedList排序
  4. 外贸SEO 站长工具
  5. alpine初始化配置和踩坑记录
  6. iPhone手机屏幕还能这样唤醒,怪不得别人的手机这么好用,学到了
  7. 抖音上测试笑容多少分的什么软件,抖音微笑打分app-抖音微笑打分软件app手机版预约 v1.0-68游戏网...
  8. iphone IDP申请直到软件上架销售流程
  9. csgo没显示重新连接服务器,csgo正在重新连接游戏服务器
  10. Java设计模式:抽象工厂模式--农场的季节生产对应水果举例