vue页面打印pdf(可预览)

把前端页面打印成pdf文件下载到本地,咱们来看一下步骤。

第一步安装

npm install vue-print-nb --save

第二步在main.js中全局引入

import Print from 'vue-print-nb'
Vue.use(Print);

第三步HTML代码 

<template>
  <div>
    <div id="printMe">第二名意味着你是头号输家!</div> //打印的元素
    <el-button @click="print()" v-print="'#printMe'">导出PDF</el-button> //打印按钮
  </div>
</template>

第四步JS代码

export default {
  data() {
    return {};
  },
  methods: {
    print() {
      var div = document.getElementById("printMe");
      var a = div.children;
      var sumtwo = 0;
      for (let d = 0; d < a.length; d++) {
        var b = a[d];
        var h = b.children;
        for (let i = 0; i < h.length; i++) {
          var e = h[i];
          var j = e.children;
          for (let k = 0; k < j.length; k++) {
            var w = j[k];
            var o = w.children;
            for (let l = 0; l < o.length; l++) {
              var s2 = $(o[l]).outerHeight(true);
              sumtwo += s2;
              console.log(s2);
              if (sumtwo > 910) {
                sumtwo = 0;
                $(o[l]).before(
                  '<div style="page-break-after:always;"></div>\n'
                );
              }
            }
          }
        }
      }
      downloadNumberAdd({ businessId: this.businessId }).then((res) => {});
      downloadLog({ businessId: this.businessId }).then((res) => {});
    }
  }
}

 第五步温馨提示:可在@media print {}里面添加css代码控制元素的样式

@page {
    size: auto;
    margin: 5mm;
  }
  html {
    background: skyblue;
  }

看一下我的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值