为什么jspdf似乎在此图像上添加了填充

时间:2019-08-20 16:17:51

标签: reactjs canvas jspdf

我需要使用Image来填充整个pdf,并且pdf的高度和宽度必须来自该图片

我测试了图片,仅图片文件就没有问题

exportToPDF = () => {
    var imgData = this.state.canvasRef.toDataURL("image");
    var image = new Image();
    image.src = imgData;
    document.body.appendChild(image)



    var pdf = new jsPDF("l", "px", [this.state.canvasRef.getWidth(), this.state.canvasRef.getHeight()]);
    pdf.addImage(image, 'png', 0, 0);
    pdf.save("download.pdf");
    console.log("export to PDF clicked");
  }

1 个答案:

答案 0 :(得分:0)

我看不到您要将图像放在画布上的位置,但是我认为您正在执行以下操作:https://www.w3schools.com/graphics/tryit.asp?filename=trycanvas_image。如果是这样,则可以在使用jspdf之前添加填充。

在此示例中,行ctx.drawImage(img, 10, 10);将填充添加到画布上的图像。如果这是发生了什么事,请将该行更改为ctx.drawImage(img, 0, 0);,然后更改canvas标签的高度和宽度以匹配img标签的大小。