วิธีดาวน์โหลดไฟล์ PDF ที่ Google Drive ที่ล็อกไว้
บางครั้งเราไปเจอไฟล์ที่เขาแชร์ผ่าน Google Drive แล้วเปิดสิทธิ์การแชร์แค่ให้ดูอย่างเดียว แต่เราอยากได้ไฟล์นั้นเก็บไว้อ่านในเครื่อง เพราะลิ้งที่แชร์ไฟล์ PDF มานั้น ไม่ได้เปิดสิทธิ์ให้ดาวน์โหลดไฟล์ได้ แต่เราสามารถเพิ่มโค้ด เพื่อให้หน้าเว็บเราดาวน์โหลดไฟล์ได้ครับ
วิธีการคือ
- เปิดโหมด Developer Tools บน Chrome Browser
เครื่อง Windown กด Ctrl + Shift + C
เครื่อง MaciOS กด Cmd + Shift + C - เลือก Console Tab
- วางโค้ด JavaScript ด้านล่างแล้วกด Enter
- หน้าเว็บจะรัน Script รอซักพักก็จะมีไฟล์ดาวน์โหลดเด้งมาให้ Save
หมายเหตุ ก่อนจะใส่โค้ดให้เลื่อนสไลด์ หรือหน้า PDF ลงเรื่อยๆให้อยู่หน้าท้ายสุดก่อน เพื่อให้ Chrome Browser โหลดแสดงผลหน้าเอกสารทุกหน้าให้ครบก่อนรัน Script เพราะถ้าเราไม่เลื่อนให้โหลดแต่ละหน้า Script จะดึงมาได้แค่หน้าที่เราเห็น
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("Download-Unloock.pdf");
};
jspdf.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js';
document.body.appendChild(jspdf);
หลักการทำงานของ Script
ตัวโค้ดจะแปลงภาพหน้าจอไปเป็นไฟล์ PDF (JPG to PDF) ซึ่งความคมชัดจะไม่เท่าไฟล์ต้นฉบับที่เป็น PDF แต่ก็พอดูได้อ่านออกครับ