葬空吟 2022-07-08 14:14 采纳率: 61.3%
浏览 377
已结题

JSPDF内容如何居中显示

前端:ant design vue 1.6.2
JSPDF版本:2.3.0
需求:在搭配html2canvas截取页面div中内容作为图片,导出 PDF过程中,怎样让截取的图片能够在PDF页面居中显示?现在是顶在左上角

img

  • 写回答

2条回答 默认 最新

  • 葬空吟 2022-07-11 10:13
    关注

    已解决

    downloadPDF() {
          const downPdf = document.getElementById('KPImounth')
          html2canvas(downPdf).then((canvas) => {
            const image = canvas.toDataURL('image/jpeg', 1.0)
            const doc = new jsPDF('l', 'px', 'a4')
            const pageWidth = doc.internal.pageSize.getWidth()
            const pageHeight = doc.internal.pageSize.getHeight()
    
            const widthRatio = pageWidth / canvas.width
            const heightRatio = pageHeight / canvas.height
            const ratio = widthRatio > heightRatio ? heightRatio : widthRatio
    
            const canvasWidth = canvas.width * ratio
            const canvasHeight = canvas.height * ratio
    
            const marginX = (pageWidth - canvasWidth) / 2
            const marginY = (pageHeight - canvasHeight) / 2
    
            doc.addImage(image, 'JPEG', marginX, marginY, canvasWidth, canvasHeight)
            doc.output('dataurlnewwindow')
            doc.save('pdfname' + '.pdf')
          })
        },
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月19日
  • 已采纳回答 7月11日
  • 创建了问题 7月8日