关于javascript:使用htm2canvasjsPDF将指定区域导出成PDF

最近因我的项目需要,须要打印弹窗表单内容,所以在网上找了找发现了许多优质的帖子,本文章代码根本参考该帖内容,写此文章只为坚固加深印象,文末是原贴链接

const pdfDownload = ()=>{
    let target = document.getElementsByClassName('ant-layout')[0] //打印区域  
    target.style.background = '#FFF' //打印内容务必放弃背景色为红色
    html2canvas(target, {
        dpi: 172,
        useCORS: true
    }).then((canvas)=>{
        let cW = canvas.width,
            cH = canvas.height,
            pH = cW / 592.28 * 841.89,
            position = 0,
            iW = 595.28,
            iH = 592.28 / cW * cH,
            pData = canvas.toDataURL('image/jpeg', 1.0),
            { jsPDF } = jspdf
            pdf = new jsPDF('', 'pt', 'a4')
            
        if(cH < pH){
            pdf.addImage(pData, 'JPEG', 0, 0, iW, iH)
        }
        else{
            while(cH > 0){
                pdf.addImage(pData, 'JPEG', 0, position, iW, iH)
                cH -=pH
                position -= 841.89
                if(cH > 0){
                    pdf.addImage()
                }
            }
        }
        
        pdf.save('form.pdf')
    })
    
}

相干链接
https://segmentfault.com/a/11…

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理