使用Angular 2+中的jsPDF生成pdf时出现DOMException

时间:2018-07-31 22:23:41

标签: angular jspdf

我有一个简单的打字稿功能,可以导出图片和文字。图片在网络上,并具有有效的网址。但是我收到以下错误:

  

错误DOMException:无法在'XMLHttpRequest'上执行'send':无法加载'https://docs.gimp.org/es/images/tutorials/quickie-jpeg-100.jpg'。

我使用的代码如下:

getPdf () {
    const imgData = 'https://docs.gimp.org/es/images/tutorials/quickie-jpeg-100.jpg';

    const pdf = new jsPDF();
    pdf.addImage(imgData, 'JPG', 15, 40, 100, 100);
    pdf.text(30, 30, 'test');
    pdf.save('my_pdf.pdf');
 }

我查看了他们的文档和他们的现场演示。看来我有相同的代码。您还可能会发现Here

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这是因为您正在使用图片网址作为数据网址。根据JSPDF演示

  

“您需要将图片变成数据网址”

     

“使用http://dataurl.net/#dataurlmaker

您可以在jsPDF site上查看一下

因此,基本上,将图像下载到本地系统中,从中生成数据url,将其替换为url,即可正常使用。无需更改其他任何内容。 您可以找到同一个here

const imgData = 'imageDataUrl Here';