Bước 1: Bạn mở tài liệu PDF cần tải trong Google Drive

Bước 2: Sau đó cuộn xuống trang cuối cùng, phải kéo sao cho nó load hết tất cả các trang

Bước 3: Trên bàn phím, bạn bấm F12 để mở Developer Tools, sau đó click vào tab Console

Bước 4: Sao chép toàn bộ mã dưới đây và dán vào tab Console

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 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, img.width, img.height);
let imgData = can.toDataURL("image/jpeg", 1.0);
pdf.addImage(imgData, 'JPEG', 0, 0);
pdf.addPage();
}
pdf.save("[ngocvuxxl.net]-Download.pdf");
};

jspdf.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js';
document.body.appendChild(jspdf);

Bạn có thể dùng code này nếu code trên không chạy được

let trustedURL;
if (window.trustedTypes && trustedTypes.createPolicy) {
    const policy = trustedTypes.createPolicy('myPolicy', {
        createScriptURL: (input) => {
            return input;
        }
    });
    trustedURL = policy.createScriptURL('https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js');
} else {
    trustedURL = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.min.js';
}

// Load the jsPDF library using the trusted URL.
let jspdf = document.createElement("script");
jspdf.onload = function() {
    // Generate a PDF from images with "blob:" sources.
    let pdf = new jsPDF();
    let elements = document.getElementsByTagName("img");
    for (let i = 0; i < elements.length; i++) {
        let img = elements[i];
        if (!/^blob:/.test(img.src)) {
            continue;
        }
        let canvasElement = document.createElement('canvas');
        let con = canvasElement.getContext("2d");
        canvasElement.width = img.width;
        canvasElement.height = img.height;
        con.drawImage(img, 0, 0, img.width, img.height);
        let imgData = canvasElement.toDataURL("image/jpeg", 1.0);
        pdf.addImage(imgData, 'JPEG', 0, 0);
        if (i !== elements.length - 1) {
            pdf.addPage();
        }
    }

    // Download the generated PDF.
    pdf.save("[ngocvuxxl.net] - download.pdf");
};
jspdf.src = trustedURL;
document.body.appendChild(jspdf);

Hạn chế:

Cơ chế là lưu từng trang thành file ảnh rồi gộp lại thành file PDF nên sẽ hạn chế chỉnh sửa nội dung.

Muốn chỉnh sửa có thể mở file PDF đã tải bằng Word hoặc google: ORC chuyển đổi PDF > docx

4.7/5 - (56 votes)