Задать вопрос
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    Менеджеры конкурентов может и не кулхацкеры, но точно не дебилы: если им действительно понадобиться слить ваши pdf'ки, то они тут же найдут того, кто им это сделает.

    Владимир, прекрасно понимаю, что если кто-то задался конкретной целью, то предотвратить такое на порядок сложнее (да я и сам при желании нашёл бы способ обойти свою же защиту)).

    Однако, в подобных кейсах (для некрупных клиентов) задача более простая — всего лишь основательно повысить порог вхождения в возможность скачивания. То есть, сразу отсеять хотя бы абсолютное большинство потенциальных "халявщиков". Это приемлемый результат для заказчика (и решение уже найдено в обсуждении выше).
    Плюс тут ещё и довольно неочевидный "социально-психологический" момент — нормальные конторы с грамотными менеджерами вряд ли будут тырить чужие работы и портить свою репутацию. Обычно подобным тырингом промышляют всякие "Рога и копыта" — и менеджеры у них такого же уровня "чуть выше плинтуса". ))

    А самый лучший вариант - набор страниц в виде картинок с водяными знаками

    Про растрирование с водяными знаками уже отвечал ранее в комментариях. Вариант самый очевидный и простой. Но...
    1. В таком варианте отпадает сам смысл PDF как носителя — тогда уж проще сразу грузить картинки в DIV обычным флексом, и вообще не заморачиваться с iFrame и PDF-функционалом. Так даже намного проще для разработчика — нет сторонних модулей/библиотек, полный контроль над DOM и контентом (без плясок с бубном во фрейме).
    2. Но! Такую обработку PDF неспособны сделать сотрудники заказчика, которые будут загружать новые проекты. Следовательно, каждую очередную работу придётся передавать в третьи руки на обработку. А в ТЗ прописана именно возможность загрузки новых работ силами самих сотрудников — не столько ради экономии, сколько как раз для минимизации передачи файлов за пределы компании.
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    «презентации просто перебрендировали и выдавали за собственные»
    Вот оно - условие, определяющее заинтересованных лиц, скорее всего, владеющих необходимым инструментарием, позволяющим все обойти.

    Александр Васильев, так в том-то и дело, что с другой стороны не какие-то "кулцхакеры" — а самые обычные манагеры конкурентов, которые умеют всего лишь в "ПКМ-сохранить" (максимум в Ctrl+U, самые прошаренные ещё в Ctrl+Shift+I). То есть, ключевое у них — скачать на халяву (без регистрации и СМС)). При первых же неудобствах дальше заморачиваться не будут, просто плюнут и полезут тырить в других местах. ))
    И среди "халявщиков" таких примерно 90%, как говорил. Что уже достаточно для заказчика, по его словам (после того, как он был предупреждён о несовершенстве такого подхода).

    Таким образом, тут не стоит цель создать "абсолютную защиту" — для заказчика такой вариант будет скорее лишними неудобствами (фактическое удвоение логистической цепочки заливки документов на сайт, плюс передача документов в третьи руки для обработки), чем реальной необходимостью.
    Ну а если уж решится — тогда да, ему придётся это делать.

    P.S. Хотя в последнем случае отпадёт и сама необходимость в PDF как формате (как и в просмотрщике), презентации можно будет заливать просто уже слитыми растрами с ватермарками. ))
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    Контекст до сих пор не ясен.
    Я бы сделал для незарегистрированных «авто-превью» картинкой с водяным знаком. А для зарегистрированных - полные версии.

    Александр Васильев, хоть это, наверное, уже и почти оффтоп, но поясню контекст (поскольку кейс достаточно распространённый):
    • Это портфолио выполненных проектов компании. То есть, цель заказчика как раз в том, чтобы просмотреть мог кто угодно (любой потенциальный клиент) — поэтому парольный доступ не подходит, это будет как раз критический удар по UX данного раздела.
    • С другой стороны, вторая цель заказчика: сделать так, чтобы эти проекты можно было просмотреть только на сайте компании — по возможности минимизировав возможности скачивания и распространения иными путями. Поскольку, по словам заказчика, в практике были случаи, когда их презентации просто перебрендировали и выдавали за собственные.
    • Таким образом, "пострадают" лишь пользователи с неопределёнными намерениями, (выходящими за рамки базового просмотра). Для всех остальных пользователей защитный механизм будет совершенно прозрачным, UX-стратегия раздела не пострадает.

    Вот примерно такое ТЗ, вкратце.
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    Сделать pdf с водяными знаками сразу.

    Александр Васильев, хоть вопрос уже и решён только что (спасибо Aetae ещё раз), но уточню по вашему предложению. Да, это было бы самым простым решением. Но в данном случае не вариант, поскольку:
    1) Речь о 50+ многостраничных PDF.
    2) В дальнейшем сотрудники заказчика будут сами заливать туда свои новые PDF, уже без моего участия.

    То есть, тут требовалось именно программное решение, без вмешательства в исходные PDF.
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    пропустить все события мыши через элемент

    Aetae, а точно!
    Вы правы, если можно отключить ПКМ в самом вьювере слоем ниже – тогда вообще не понадобится вся эта свистопляска с событиями на верхнем элементе. Тогда pdf.js, да.

    Что-то я совсем загнался с этим проектом, видимо. Уже туплю на ровном месте. ))

    Спасибо большое!
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    Взять библиотеку pdf.js, поотключать в ней лишние функции.
    С фреймами каши особо не сваришь.

    Aetae, спасибо.
    Да, пробовал копать в сторону PDF.js. Но там решается лишь одна из проблем — ПКМ-сохранение. А вот с водяными знаками проблема остаётся всё та же (как уже писал, у "защитного" DIV ещё и функционал пассивной защиты от принтскрина).

    Поэтому, в общем-то, вопрос проброса события "wheel" ПОД "защитный" DIV я и вынес в заголовок самым первым (и поэтому разместил вопрос именно в категории JS), этот вопрос тут ключевой.
    Думаю, если получится решить этот вопрос, тогда проблема будет решена универсальным способом — для любых вариантов, даже на обычных фреймах...

    Поэтому буду рад любым подсказкам именно по данному моменту, в первую очередь.

    P.S. Что самое обидное: быстро и просто удалось решить вопрос с базовой защитой от [ленивых] продвинутых юзеров — на странице заблокированы CTRL+SHIFT+I, CTRL+U, и так далее. А вот такой банальный момент, как обычный "ламерский" принтскрин — который день уже ломаю голову. ))
    Написано
  • Передать событие прокрутки в iFrame с PDF? Или защитить PDF от сохранения?

    @Qoragar Автор вопроса
    это хренота, а не защита

    Ну так и предложите свой вариант защиты. Я же об этом и просил. ))

    Тем более, что тут и не требуется защита "уровня ЦРУ". Информация не бог весть какая секретная, просто нужно минимизировать скачивания.
    Поэтому рассчитано:
    1) На обычных юзеров.
    2) Для максимального усложнения задачи более продвинутым юзерам.

    То есть, с учётом аудитории, защита должна пресекать минимум 90% попыток скачать (10% допустимая погрешность, не критично).
    А это уже результат — лучше, чем полное отсутствие результата...
    Написано
  • Не работают переносы слов (CSS hyphens) в OPERA. В чём может быть проблема?

    @Qoragar Автор вопроса
    Так тоже не работает в Опере (только в Хроме). Мистика прям какая-то. ((
    Написано
  • Какой программой можно сделать из текста рэп?

    @Qoragar
    Вот чего не знаю, того не знаю. Недавно случайно набрёл, сугубо "поиграться для" — поэтому глубоко в этой штуке не копался.
    Написано