1、安装v-print-nb插件

 npm install vue-print-nb --save

2、数据加载

/*打印预览*/printPdf(mergeEbeln) {this.signal = false;this.dylist = [];getPrintList({mergeEbeln:mergeEbeln}).then(response => {/*分页*/if (response.data.listdetail.length > 0) {response.data.text = "";this.inServForm = response.data//使用 .replace(/[\t]/g,''); 替换\t转义符,防止页面变形this.inServForm.modeldes = this.inServForm.modeldes.replace(/[\t]/g,'');this.dylist = this.doSplice(response.data.listdetail, 14)/*判断最后的签名信息是否单独起一页*/if (this.dylist[this.dylist.length - 1].length > 10) {this.signal = true}this.printShow = true}})},

3、 排版

changeFormat(){/*排版*/var declareHeight = this.$refs.declare.clientHeight;/*合同文本像素高度*/var changeFormatDIVHeight = this.$refs.changeFormatDIV.clientHeight;/*2cm*/var decalreReallyHeight = Math.floor((declareHeight/changeFormatDIVHeight)*2);/*合同文本厘米高度*/var leftHeight = 29.7-1.5-decalreReallyHeight;/*剩余部分高度*/var colunmNum = Math.floor(leftHeight/2);/*能放下几行*/this.dylist=[];/*分页*/var tempList = this.inServForm.listdetail;if (tempList.length > colunmNum) {this.dylist = this.doSpliceFormat(tempList,14,colunmNum);}else {this.dylist.push(tempList);}/*判断最后的签名信息是否单独起一页*/if(this.dylist.length>1){if (this.dylist[this.dylist.length - 1].length > 10) {this.signal = true;} else {this.signal = false;}}else if (this.dylist.length==1) {if (colunmNum - this.dylist[0].length<3){this.signal = true;} else {this.signal = false;}}this.printShow = truethis.$refs.printHandle.$el.click();},

4、打印预览

<!--打印页面--><!--startprint--><el-dialog title="打印预览" :visible.sync="printShow" width="22cm" append-to-body><el-form :model="inServForm" ref="inServForm" size="small"><el-form-item><div  ref="changeFormatDIV" style="height: 2cm"><el-buttonv-print="'#printPage'"type="primary"icon="el-icon-printer"ref="printHandle"></el-button><el-buttontype="danger"plainicon="el-icon-printer"@click="changeFormat"style="margin-left: -50px;width: 2cm">打印</el-button></div></el-form-item><div id="printPage" ref="printPage" style="width: 21cm;page-break-before:always;margin: 0cm 1cm 1cm 0.5cm;"><template><!-- el-table 或其他待打印内容 --></template></div><el-form-item style="text-align: right"><el-buttontype="danger"plainicon="el-icon-printer"@click="changeFormat"style="width: 2cm">打印</el-button><el-buttontype="warning"plainicon="el-icon-d-arrow-left"@click="cancelPrint">返回</el-button></el-form-item></el-form></el-dialog><!--endprint-->

vue使用v-print-nb插件实现A4纸张排版打印相关推荐

  1. python自动排版 html_Python 实现自动完成A4标签排版打印功能

    老婆大人让俺帮她通过Excel生成百人的准考证,她们学校打算来一次高考模拟.由于高考改革,每个学生的考试科目不一样,需要自动生成一下. 我一个程序员平时很少用到Excel,自己也不打算深入研究这个软件 ...

  2. python标签打印_Python 实现自动完成A4标签排版打印功能

    老婆大人让俺帮她通过Excel生成百人的准考证,她们学校打算来一次高考模拟.由于高考改革,每个学生的考试科目不一样,需要自动生成一下. 我一个程序员平时很少用到Excel,自己也不打算深入研究这个软件 ...

  3. A4纸张两面打印、每面打印2页的打印机设置

    A4纸张两面打印.每面打印2页的打印机设置 1.打开文档,点击打印按钮 2.打印机打印设置 3.打印机属性设置 4.点击打印,开始打印文档 5.小结,作者也是通过多次操作尝试才成功的,希望这篇博客对你 ...

  4. 如何用A4纸排版打印并制作成四分之一大小的册子(简易说明书)

    如何用A4纸排版打印并制作成四分之一大小的册子(简易说明书)? 1.打开要制作成小册子的文档,最好是word格式: 2.菜单栏选择"文件"-打印,弹出"打印"对 ...

  5. A4 纸张上打印预览

    以下是一个简单的示例,演示如何使用 VC++2012 在 A4 纸张上打印预览从上到下排列的 3 张照片,每张照片下方显示文件名. 首先,需要在 DialogNameDlg.h 文件中添加以下 inc ...

  6. vue项目使用Print.js插件实现PDF文件打印

    一,Print.js介绍 Print.js主要是为了帮助我们在应用程序中直接打印PDF文件,而不需要离开界面,也不需要使用嵌入.对于用户不需要打开或下载PDF文件的特殊情况,只需要打印即可. 例如,当 ...

  7. 【打印PPT】如何打印PPT?如何打印PPT到1张纸上?PPT大于A4纸张如何打印?

    碰到打印PPT然后打出来发现A4纸装不下怎么办?

  8. Vue -print - nb 打印插件 使用详解 以及连打操作

    Vue -print - nb 打印插件 #安装 npm install vue-print-nb --save #在main.js 全局引用 import Print from 'vue-print ...

  9. Vue Devtools安装(谷歌浏览器插件:)

    vue安装: # 最新稳定版 $ npm install vue # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新 ...

最新文章

  1. JavaScript9x9乘法表
  2. JAVA反射机制及其原理实现
  3. ABAP Development Tools的语法高亮实现原理
  4. 服务器修改数据库值,服务器上怎么修改数据库内存
  5. android 调用c wcf服务,如何使用命名管道从c调用WCF方法?
  6. 使用Spring Security对RESTful服务进行身份验证
  7. LeetCode: Longest Common Prefix
  8. C++总结笔记(二)面向对象
  9. 验证日期时间的正则表达式
  10. Java IO API记录
  11. 【ES8(2017)】Object 扩展 values() / entries() / getOwnPropertyDescriptors()
  12. linux 下挂载光驱
  13. Eclipse中导入maven项目 maven update project报“Cannot nest ‘xx/src/main/resources‘ inside ‘xx/src ……”
  14. Music Bugs : 不支持wma格式的歌曲播放
  15. 华为v9计算机在哪方面的应用,华为手机助手怎么用 HiSuite详细使用教程
  16. vba 宏获取文件夹中所有excel文件,对slk文件数据每3000个求平均值
  17. 工具栏的打印图标不见了_XP操作系统工具栏右边的打印机图标不见了
  18. 计算机双机对连局域网,图解双机/多机无线互联技巧_局域网教程
  19. 如何减少PDF文件的大小
  20. 豆瓣超高评分《扫黑风暴》热评爬取可视化展示

热门文章

  1. 4G全网通模块 高通骁龙410系列-MSM8916(M9+) Cortex-A53架构
  2. html怎么在表格中加虚线,html设置虚线边框的方法详细介绍
  3. 文献解读|迁徙蝗虫生理和转录水平的衰老特征
  4. MTKLOG简介和基本的分析流程
  5. Unity 3d 中Debug.Log和Print的区别。
  6. 8 Flask mega-tutorial 第8章 关注 Followers
  7. 快狐未能连接服务器,航海王强者之路好友福袋开启详细介绍_快狐快狐视频app...
  8. Leecode DFS深度优先搜索
  9. Scheme:点对(dotted pair,或pair)
  10. 幼麟棋牌创建房间逻辑分析