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
