vue-to-pdf的使用:vue中将div转换为pdf文件

1.npm i vue-to-pdf --save

2.main.js

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

3.转化为pdf并下载

  注意:div中的图片需要在本地,线上图片需要转化为base64格式才能显示

    mounted() {
        this.$PDFSave(this.$refs['content'], '我的文件')    
    }  

4.转化为pdf格式的file数据

methods: {
        onHandle() {
            var promiseObj = this.$PDFOutput(this.$refs['box'])
            promiseObj.then((value) => {
                this.httpRequest(value).then(res=>{
                    // value:bolburl
                    // res:file文件
                })
            })
        },
        httpRequest(src) {
            let that = this
            return new Promise((resolve, reject) => {
                let xhr = new XMLHttpRequest()
                xhr.open('GET', src, true)
                xhr.responseType = 'blob'
                xhr.onload = function (e) {
                    if (this.status == 200) {
                        let myBlob = this.response
                        let files = new window.File(
                            [myBlob],
                            that.objData.prj_no + '.pdf',
                            { type: myBlob.type }
                        ) // myBlob.type 自定义文件名
                        resolve(files)
                    } else {
                        reject(false)
                    }
                }
                xhr.send()
            })
        },
    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值