当前位置:   article > 正文

vue页面打印pdf(可预览)_vue 打印pdf

vue 打印pdf

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

第一步安装

npm install vue-print-nb --save

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

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

第三步HTML代码 

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

第四步JS代码

  1. export default {
  2. data() {
  3. return {};
  4. },
  5. methods: {
  6. print() {
  7. var div = document.getElementById("printMe");
  8. var a = div.children;
  9. var sumtwo = 0;
  10. for (let d = 0; d < a.length; d++) {
  11. var b = a[d];
  12. var h = b.children;
  13. for (let i = 0; i < h.length; i++) {
  14. var e = h[i];
  15. var j = e.children;
  16. for (let k = 0; k < j.length; k++) {
  17. var w = j[k];
  18. var o = w.children;
  19. for (let l = 0; l < o.length; l++) {
  20. var s2 = $(o[l]).outerHeight(true);
  21. sumtwo += s2;
  22. console.log(s2);
  23. if (sumtwo > 910) {
  24. sumtwo = 0;
  25. $(o[l]).before(
  26. '<div style="page-break-after:always;"></div>\n'
  27. );
  28. }
  29. }
  30. }
  31. }
  32. }
  33. downloadNumberAdd({ businessId: this.businessId }).then((res) => {});
  34. downloadLog({ businessId: this.businessId }).then((res) => {});
  35. }
  36. }
  37. }

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

  1. @page {
  2. size: auto;
  3. margin: 5mm;
  4. }
  5. html {
  6. background: skyblue;
  7. }

看一下我的效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/364903
推荐阅读
相关标签
  

闽ICP备14008679号