LINUX.ORG.RU
ФорумTalks

[latex, pdf] Забанили в google, как запретить копирование и т.д.


0

0

Есть текст, который надо оградить от копирования методом копипасты.

А есть текст, в котором надо организовать поля для ввода в уже откомпилированном pdf.

Ну и у pdf были ещё вроде какие то фичи.

Сам текст естественно набирается в LaTeX.

В инете искал но ничего не нашёл.

★★★★

Вообще-то, защищать текст таким образом - дело (мягко говоря) нехорошее. Ну а вариантов здесь 2: первый (простой) - не подключать cmap, тогда скопированный текст будет в кодировке Latin1, и преобразовать его в нормальный вид сможет далеко не каждый. Второй - преобразовать pdf -> tiff при помощи convert, а затем сшить все обратно в pdf (или даже лучше в djview). В этом случае текстовой информации в файле вообще не будет.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

>Вообще-то, защищать текст таким образом - дело (мягко говоря) нехорошее.

Подробнее, пожалуйста.

keeper_b ★★★★
() автор топика

>Есть текст, который надо оградить от копирования методом копипасты.

никак.

dikiy ★★☆☆☆
()
Ответ на: комментарий от namezys

>не вносить инфорацию о тексте.

дык тогда копировать нечего :) Картинку разве что.

Но "дураки" от которых топик-стартер так хочет защитить скорей всего даже копировать не будут, а просто финридер на скриншот натравят.

dikiy ★★☆☆☆
()
Ответ на: комментарий от dikiy

а просто финридер на скриншот натравят.

от этого тоже можно защититься, выбрав какой-нибудь экзотический шрифт a la frak :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Шрифт не видел, но прозреваю защиту от глаз юзера, нежели от файнридера. Такой документ лучше сразу удалить.

simple_best_world_web_master
()
Ответ на: комментарий от keeper_b

Пусть это будет им бонусом.

А вообще, странная идея это -- защита от копирования. Хочется одновременно и дать и не дать? Зачем тогда давать? Боитесь, что скопируют -- просто не давайте, пусть на лекциях/семинарах пишут.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Цель, что бы студенты не копировали куски кода а сами ручками набивали на лабораторной.

keeper_b ★★★★
() автор топика
Ответ на: комментарий от keeper_b

> Цель, что бы студенты не копировали куски кода а сами ручками набивали на лабораторной.

Оооо. Думаете, что простое перенабивание, минуя чей-либо мозг полезнее? По-моему, что-то следует в консерватории поправить, чтобы лабораторная не сводилась к "набиванию".

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Для этого случая не надо. Программировать на Си они уже умеют, основные алгоритмы знают.

Требуется просто разобраться в новом языке.

keeper_b ★★★★
() автор топика
Ответ на: комментарий от keeper_b

>Требуется просто разобраться в новом языке.

Мне кажется, что лучше дать студентам несколько работающих программ (в текстовом файле, чтобы можно было копировать) с сопроводительным текстом. И дать задание сделать аналогичные - но другие задачи. Причем сначала должны идти очень простые задачи, потом более сложные. Опционально должны быть очень сложные задачи, которые можно делать по желанию. Тем кто сделал сложные задачи - какой-нибудь приз. Готовых ответов при этом не давать.

Если нет ответов, то нечего копировать.

sign
()
Ответ на: комментарий от sign

>Мне кажется, что лучше дать студентам несколько работающих программ (в текстовом файле, чтобы можно было копировать)

И не в текстовом файле, а в VCS. Пусть привыкают к хорошему.

Macil ★★★★★
()
Ответ на: комментарий от sign

Я занимаюсь как раз самым началом. По учебной программе у нас идет Си, потом Си++, потом С#, и параллельно XML, потом SQL, потом Prolog.

Я ещё думаю, здорово было бы втиснуть, куда нибудь (возможно с курсом дискретной математики) Lisp или Haskell.

Я собственно занимаюсь Си++.

У нас правда не программистов готовят. :)

keeper_b ★★★★
() автор топика
Ответ на: комментарий от sign

Я им уже over 9000 работающих программ приводил.

Просто очень не нравиться, когда они берут и просто копируют мой пример, возникает ощущение, что они не поняли а просто скопировали.

Пример реализации перегрузки операции присваивания:

simpleClass& simpleClass::operator=(const simpleClass& rhs)
{
	if (this == &rhs) return *this; // проверяем, не копируем ли мы один и тот же объект самому себе.
	classStr = rhs.classStr; // копирование объектов класса

	return *this;
}

Копируют целиком меняя только classStr = rhs.classStr; на то, что им нужно в данный момент.

keeper_b ★★★★
() автор топика
Ответ на: комментарий от keeper_b

Чтобы студенты не сдирали куски лаб. работ могу предложить только одно (т.к. здесь код - невключение пакета cmap не поможет): напишите макрос, выбирающий из списка различной белиберды (в соответствии со счетчиком) кусок строки и вставляющий ее в начало каждой линии (здесь поможет \everycr{} или \everypar{}) в виде

\hbox to 0pt{\rlap{\white{кусок строки с бессмысленным набором знаков}}}
На отображении документа это никак не скажется, а вот студентам придется подправлять свой код. Особенно интересно вставлять что нибудь вроде exit(2); cout << «а работу то я свистнул»; и т.п. :)

Но, ИМХО, проще всего сделать, как я рекомендовал в самом начале: распустите ps-файл на страницы, сконвертируйте их ImageMagic'ом в jpg, а потом соберите результат при помощи cjb2 и djvm в итоговый djvu-файл. В этом случае без cuineform'а не обойтись.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от dikiy

> дык тогда копировать нечего :) Картинку разве что.

при чем тут картинки. внутри PDF вообще-то posct script

namezys ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.