簡體   English   中英

jsPDF-減小文件大小

[英]jsPDF - reduce file size

我正在使用jsPDF從畫布創建PDF文件。 問題是創建的文件太大。

我曾經從畫布獲取數據到PNG,然后將PNG數據粘貼到PDF中。 如果以這種方式創建文件,則它具有4.0MB

我發現有關此問題的問題: 如何減少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');

但是文件仍然有4.0MB,我為'imgData'設置的質量並不重要。

有沒有辦法減小尺寸? 還是4.0 MB是我可以獲得的最小空間?

https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL

我嘗試過

canvas.toDataURL( 'image/jpeg', 1.0 );

效果很好,大小從2.5Mb降至111kb。

這對我有用,將大小從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');

  });

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM