[英]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.