将网页转换为带样式的pdf

时间:2016-05-13 08:54:51

标签: javascript html pdf jspdf html2canvas

我想将网页转换为PDF,包括我添加的所有样式。 我使用过jspdf.js和html2Canvas。但我只得到PDF格式的模糊图片。 我搜索了很多JavaScript代码,但没找到正确的代码。

我写的脚本是:



function getPDF() {
  html2canvas(document.body, {
    onrendered: function(canvas) {
      var img = canvas.toDataURL("Image/jpeg");
      //window.open(img);
      var doc = new jsPDF({
        unit: 'px',
        format: 'a4'
      });
      doc.addImage(img, 'JPEG', 0, 0, 440, 627);
      doc.save("download");

    }
  });
}




谢谢!

1 个答案:

答案 0 :(得分:0)

可能有一些事情有所贡献。

缺少canvas.toDataURL的编码器选项,因此您将获得默认值。默认设置可能是创建低质量图像。试试这个以获得最高质量的JPEG图像:

var img = canvas.toDataURL("Image/jpeg", 1.0);

您也可以尝试使用测量而不是像素来创建jsPDF对象:

var pdf = new jsPDF("p", "mm", "a4");  // jsPDF(orientation, units, format)

当您添加图片时,请将其缩放到页面的尺寸:

pdf.addImage(imgData, 'JPEG', 10, 10, 190, 277);  // 190x277 mm @ (10,10)mm

看看是否能提供更好的图像质量。