Canvas JsPDF压缩生成模糊PDF

Canvas JsPDF压缩生成模糊PDF,canvas,compression,fabricjs,jspdf,pdfjs,Canvas,Compression,Fabricjs,Jspdf,Pdfjs,我使用注释pdf,并使用将结果画布图像保存为pdf 我就是这样保存它的: canvas.height = viewport.height; canvas.width = viewport.width; var width = canvas.width; var height = canvas.height; var pdf = new jsPDF('p', 'pt', [width, height]); $.each(inst.fabricObjects

我使用注释pdf,并使用将结果画布图像保存为pdf

我就是这样保存它的:

 canvas.height = viewport.height;
    canvas.width = viewport.width;
    var width = canvas.width;
    var height = canvas.height;
    var pdf = new jsPDF('p', 'pt', [width, height]);
    $.each(inst.fabricObjects, function (index, fabricObj) {
        if (index != 0) {
            pdf.addPage();
            pdf.setPage(index + 1);
        }
        var imgData = fabricObj.toDataURL({
            format: 'jpg',
            quality: 0.9
        });
        pdf.addImage(imgData, 'jpg', 0, 0, width, height, null, 'FAST');
        //pdf.addImage(imgData, 'JPEG', 0, 0, canvas.width, canvas.height);
    });
 pdf.save("sample.pdf");
这导致PDF大小从3.12MB增加到11.2MB,并且看起来很模糊

我之前使用的这段代码保存了大尺寸的PDF

 var pdf = new jsPDF();
 $.each(inst.fabricObjects, function (index, fabricObj) {
     if (index != 0) {
        pdf.addPage();
        pdf.setPage(index + 1);
      }
   pdf.addImage(fabricObj.toDataURL(), 'JPG', 0, 0, canvas.width, canvas.height);
 });
原始文件大小:3.12MB

保存的PDF文件大小:213MB