几年前,我写了一篇要点,引起了很多积极的兴趣,强调了开发人员的共同需求。鉴于其受欢迎程度,是时候与您分享这个解决方案了。这篇文章将指导您使用 javascript 下载受保护的 pdf 的实用方法,确保高分辨率输出。
这种方法允许您通过捕获每个页面的高分辨率图像来绕过仅限查看的限制。
在 google 文档中打开受保护的文档。
滚动浏览整个文档以确保所有页面均已完全加载。有些文档需要放大才能获得更好的分辨率。
导航到“控制台”选项卡。
let jspdf = document.createElement("script"); jspdf.onload = function () { let pdf = new jsPDF(); let elements = document.getElementsByTagName("img"); for (let i in elements) { let img = elements[i]; console.log("add img ", img); if (!/^blob:/.test(img.src)) { console.log("invalid image src"); continue; } let can = document.createElement('canvas'); let con = can.getContext("2d"); can.width = img.width; can.height = img.height; con.drawImage(img, 0, 0); let imgData = can.toDataURL("image/jpeg", 1.0); pdf.addImage(imgData, 'JPEG', 0, 0); pdf.addPage(); } pdf.save("download.pdf"); }; jspdf.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js'; document.body.appendChild(jspdf);
注意:查看原始 gist 和其他评论以及各种改进和建议。
请记住尊重版权和隐私法。请负责任地使用此方法,并且仅适用于您有权下载的文档。