- Open the document in Google Docs
- Scroll to the bottom of the document, so all the pages are present
- Open Developer Tools on separate window and choose the Console tab
- Paste the code
- Have fun!
-
-
Save jonathands/29715332e2513c4a243557b9a1b6af59 to your computer and use it in GitHub Desktop.
Download view only protected PDF from Google Drive
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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("download.pdf"); | |
}; | |
jspdf.src = trustedURL; | |
document.body.appendChild(jspdf); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment