Google Drive: Сохраняем защищенный от скачивания pdf файл

Просмотров: 5117Комментарии: 2
ВкусняшкиFAQ Solution
Google Drive: Сохраняем защищенный от скачивания pdf файл

Никогда такого не было, и вот опять.

Отправили меня на обучение по новым технологиям, а обучение удаленное. Ссылку на материал (букварь и лабы) предоставили на Google Drive, при этом документы были доступны только для просмотра в браузере без возможности скачать их локально. Одним словом Жулики. Я конечно понимаю что читая курсы компания зарабатывает, но такое отношение к клиентам "такое себе".

Но мы не пальцем деланы, и хочется отметить что на каждую хитрую гайку найдется свой болт с резьбой.

Суть сводится к тому, что документ в любом случае будет представлен уже как картинка, которая будет больше по объему (весу) с исходным документом, но главное это содержимое, которое в любом случае читать буду глазами.

Из инструментов потребуется Google Chrome и скрипт для выполнения (в конце статьи).

Порядок действий:

  1. Открывается по ссылке с Google Drive документ
  2. С первой по последнюю страницу документ необходимо пролистать (так чтобы все страницы документа прогрузились и отрисовались)
  3. Копируем скрипт в буфер обмена
  4. На странице документа открывается консоль разработчика (сочетание клавиш Ctrl + Shift + I)
  5. На вкладке "Консоль" вставляется скрипт из буфера обмена и для завершения нажимаем клавишу "Enter"

В результате выполнения скрипта в "Загрузки" Google Chrome упадет 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 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.pdf");
};
jspdf.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js';
document.body.appendChild(jspdf);

Собственно улыбаемся и пашем smile

Комментариев: 2 RSS

1 Аноним 19-08-2023 11:14

К сожалению на выходе файл с пустым содержимым (

2 OlannMK 06-09-2023 18:12

Такое может быть, если предварительно не пролистать медленно весь файл.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)