美文网首页
Vue导出PDF

Vue导出PDF

作者: 熊爸天下_56c7 | 来源:发表于2021-03-26 12:01 被阅读0次

    一. 使用vue-to-pdf

    https://www.npmjs.com/package/vue-to-pdf

    npm i vue-to-pdf --save
    

    引入:

    import vueToPdf from 'vue-to-pdf';
     
    Vue.use(vueToPdf);
    

    使用时, 将要转PDF的内容包裹在一个div里面, 给这个div加一个ref属性,绑定一个方法通过原型调用this.$PDFSave(this.$refs['content'], '我的文件')

    <template>
      <div>
        <div ref="content">打印出的内容</div>
        <input type="button" value="导出PDF" @click="toPdf" />
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        toPdf() {
          this.$PDFSave(this.$refs["content"], "我的文件");
        },
      },
    };
    </script>
    
    <style>
    </style>
    

    其原理是把HTML转化为base64图片, 然后将其转为PDF
    所以: 转换后的PDF是图片PDF, 是不能编辑的,而且: 清晰度很一般

    二. 直接使用系统打印

    我们知道, 我们是可以在浏览器中可以直接打印的,所以我们可以获取浏览器对象,然后调用其打印方法, 调用起系统打印, 再安装个PDF打印机完成打印.

    这样做的
    优点是:不需要安装任何组件
    缺点是: 有可能丢失样式等问题, 尤其是使用了UI框架之后

    <template>
      <div>
        <div ref="content">打印出的内容</div>
        <input type="button" value="导出PDF" @click="toPdf" />
      </div>
    </template>
    
    <script>
    export default {
      methods: {
        toPdf() {
          window.open("url").print(); //这一步就是在新窗口调出打印机
        },
      },
    };
    </script>
    
    <style>
    </style>
    

    相关文章

      网友评论

          本文标题:Vue导出PDF

          本文链接:https://www.haomeiwen.com/subject/dzqjhltx.html