mat*_*usc 0 html javascript canvas 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 是我能得到的最小的?
小智 6
这对我有用,将大小从 13.5 MB 减少到 180 kb,但质量略有妥协。
function genPDF() {
html2canvas(document.querySelector(".page"), {scale: "2"}).then(canvas => {
this.imgFile = canvas.toDataURL("image/jpeg", 0.3);
var doc = new jsPDF('p', 'mm', 'a4', true);
doc.addImage(this.imgFile, "JPEG", 5, 0, 210, 297, undefined,'FAST');
doc.save('Test.pdf');
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6567 次 |
| 最近记录: |