相关疑难解决方法(0)

使用jspdf将Svg渲染为Pdf

我在使用jspdf将svg元素渲染为pdf时遇到了麻烦.我使用插件https://github.com/CBiX/svgToPdf.js/来做到这一点.

以下是我的代码

// I recommend to keep the svg visible as a preview
var tmp = document.getElementById("chartContainer");
var svgDoc = tmp.getElementsByTagName("svg")[0];
var pdf = new jsPDF('p', 'pt', 'a4');
svgElementToPdf(svgDoc, pdf, {
scale: 72 / 96, // this is the ratio of px to pt units
removeInvalid: false // this removes elements that could not be translated to pdf from the source        svg
});
pdf.output('datauri'); // use output() to get the jsPDF buffer
Run Code Online (Sandbox Code Playgroud)

它正在生成空白pdf.请帮忙

svg jspdf

14
推荐指数
1
解决办法
1万
查看次数

jsPDF - 减小文件大小

我正在使用 jsPDF 从画布创建 PDF 文件。问题是,创建的文件太大。

我曾经将数据从画布获取到 PNG,然后将 PNG 数据粘贴到 PDF 中。如果我以这种方式创建文件,它有 4.0MB

我发现了关于这个问题的问题: How to reduce the file size created by JSPDF?

我根据那里的答案重写了我的代码。所以现在我使用 JPEG 而不是 PNG:

var imgData = canvas.toDataURL({
    format: 'jpeg',
    quality: 0.2
});

var doc = new jsPDF('p', 'mm', "A4");
doc.addImage(imgData, 'JPEG', 10, 10, 190, 190);
doc.save('mandala.pdf');
Run Code Online (Sandbox Code Playgroud)

但是文件仍然有 4.0MB,我为“imgData”设置的质量无关紧要。

有没有办法减小尺寸?或者 4.0 MB 是我能得到的最小的?

html javascript canvas jspdf

0
推荐指数
1
解决办法
6567
查看次数

JSPDF 和 html2canvas 与 Angular

我正在尝试使用 html2canvas 生成 PDF,但是在调用该函数时抛出错误,我的 TS 如下:

  @ViewChild('content') content:ElementRef;

  generarPDF() {
    html2canvas(document.getElementById('content'), {
      // Opciones
      allowTaint: true,
      useCORS: false,
      // Calidad del PDF
      scale: 1
    }).then(function(canvas) {
      var img = canvas.toDataURL("image/png");
      var doc = new jsPDF();
      doc.addImage(img,'PNG',7, 20, 195, 105);
      doc.save('postres.pdf');
    });
  }
Run Code Online (Sandbox Code Playgroud)

我的html是:

  @ViewChild('content') content:ElementRef;

  generarPDF() {
    html2canvas(document.getElementById('content'), {
      // Opciones
      allowTaint: true,
      useCORS: false,
      // Calidad del PDF
      scale: 1
    }).then(function(canvas) {
      var img = canvas.toDataURL("image/png");
      var doc = new jsPDF();
      doc.addImage(img,'PNG',7, 20, 195, 105);
      doc.save('postres.pdf');
    });
  }
Run Code Online (Sandbox Code Playgroud)
div.cliente …
Run Code Online (Sandbox Code Playgroud)

html2canvas jspdf angular

0
推荐指数
1
解决办法
2万
查看次数

标签 统计

jspdf ×3

angular ×1

canvas ×1

html ×1

html2canvas ×1

javascript ×1

svg ×1