使用htm2canvas+jsPDF将指定区域导出成PDF

Posted FromXTLeo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用htm2canvas+jsPDF将指定区域导出成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...

以上是关于使用htm2canvas+jsPDF将指定区域导出成PDF的主要内容,如果未能解决你的问题,请参考以下文章

html2covnas jsPdf 导出pdf

jsPDF自动右对齐x位置错误

使用 jspdf 导出 PDF 不呈现 CSS

jsPDF 将html代码中的table导出为pdf文件怎么弄

vue pdf导出 html2canvas+jspdf

vue中实现html页面导出word和pdf的办法