插件窝 干货文章 解锁受保护的 PDF

解锁受保护的 PDF

文档 jspdf let img 637    来源:    2024-10-23

几年前,我写了一篇要点,引起了很多积极的兴趣,强调了开发人员的共同需求。鉴于其受欢迎程度,是时候与您分享这个解决方案了。这篇文章将指导您使用 javascript 下载受保护的 pdf 的实用方法,确保高分辨率输出。

这种方法允许您通过捕获每个页面的高分辨率图像来绕过仅限查看的限制。

第 1 步:打开文档

在 google 文档中打开受保护的文档。
滚动浏览整个文档以确保所有页面均已完全加载。有些文档需要放大才能获得更好的分辨率。

第2步:打开开发者工具

导航到“控制台”选项卡。

第 3 步:运行此脚本将图像转换为 pdf

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 和其他评论以及各种改进和建议。

道德使用注意事项

请记住尊重版权和隐私法。请负责任地使用此方法,并且仅适用于您有权下载的文档。