使用jsPDF将相同的图像多次添加到pdf

时间:2014-08-07 10:55:01

标签: javascript jspdf

我使用jsPDF生成pdf,并且我多次复制一些图像。因此,文件大小越来越大,虽然只有一些图像,但有几次。

有没有办法存储这些图像一次,但显示更多次?绝对是为此准备的pdf格式?

我将此代码与jsPDF一起使用,它是默认图像添加:

var imgData = 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASA...';
var doc = new jsPDF();

doc.setFontSize(40);
doc.text(35, 25, "Paranyan loves jsPDF");
doc.addImage(imgData, 'JPEG', 15, 40, 180, 160);

提前致谢!

2 个答案:

答案 0 :(得分:0)

这可以通过merge request中的burnburnrocket来实现。

答案 1 :(得分:0)

在这里,我声明了两个具有不同id的div,例如:

<div id="div1"><div>

<div id="div2"><div>

var doc = new jsPDF('a4');
var img=[];
var requiredPages = 2 // count of div
for (var i = requiredPages; i >= 1; i--) {
   //console.log(i)
   html2canvas(document.getElementById("newrow"+i), {
        onrendered: function(canvas) {

            var imgData = canvas.toDataURL('image/png');
            img.push(imgData);
           // console.log('Report Image URL: '+imgData);
             //210mm wide and 297mm high

            doc.addImage(imgData, 'PNG', 0, 5, 210, 290);
            (img.length!=requiredPages)
            {
              doc.addPage();
            }


            if(img.length==requiredPages)
            {
            doc.save('compare.pdf');  
            }

            //doc.output("dataurlnewwindow");
        }
   });
}