Как я могу сделать PDF без возможности печати программно? - PullRequest
2 голосов
/ 31 октября 2009

Как я могу сделать PDF непечатным программным способом, используя .net?

Ответы [ 4 ]

5 голосов
/ 31 октября 2009

Краткий ответ. Ты не можешь Вы можете попытаться установить параметр DRM, чтобы предотвратить печать, но все это зависит от программного обеспечения клиента для рендеринга PDF-файла и от того, учитывает ли он DRM или нет.

Кроме того, при условии, что вы можете просматривать PDF, ничто не мешает пользователю делать снимки экрана с содержимым, представленным в PDF.

1 голос
/ 31 октября 2009

Конечно, вы можете предотвратить печать! Конечно, вы не можете предотвратить захват экрана, но вы определенно можете запретить обычному пользователю печатать PDF в Adobe Reader. Я знаю, что в нашем продукте ActiveReports при экспорте PDF вы можете указать различные параметры безопасности, которые определяют, может ли пользователь, просматривающий PDF, печатать или нет. Разработчик может указать пароль администратора, который можно использовать, чтобы разрешить печать только некоторым пользователям, но запретить печать без пароля.

Подробнее об этом можно прочитать в документации по перечислению PdfSecurity ActiveReports. Пример кода находится в документации здесь . Перейдите по некоторым ссылкам на этой странице, чтобы увидеть больше информации.

Если вы хотите загрузить существующий PDF-файл и изменить его, обычно люди предлагают iTextSharp . Хотя я не использовал его, другие люди очень рекомендуют его, и я думаю, что он будет работать для этого сценария чтения + изменения. Мне удалось найти пример того, как вы можете использовать iTextSharp для включения / выключения «AllowPrint» и других разрешений здесь .

0 голосов
/ 02 ноября 2009

У вас есть несколько вариантов в зависимости от полной информации о требованиях, но проще всего было бы установить шифрование пароля в документе. Как уже упоминалось выше, вы можете установить пароль владельца и пароль пользователя для шифрования документа. Пароль владельца в основном разрешает доступ на уровне администратора и полностью открывает документ для всех операций. Пароль пользователя открывает документ, но доступ ограничен тем, что вы указали во время шифрования, например, если вы отключите права на печать, то кто-то, кто предоставит пароль пользователя, не сможет распечатать PDF.

Мы предлагаем решение, которое поддерживает .NET и может легко шифровать, а также дешифровать PDF-файлы. Вот ссылка на документацию по API, если вы заинтересованы в ее просмотре:

 http://www.pdfonline.com/easypdf/epsdk_manual/index.htm?page=reference%2Fpdfprocessorsdk%2Fpdfprocessor%2Fm_encrypt.htm

Идея состоит в том, чтобы вызвать вышеупомянутую функцию Encrypt () и передать аргумент PrintingPerm PRC_SEC_PRINT_PERM_NONE. Вы также можете установить другие права доступа, такие как изменение, копирование / вставка и т. Д., Если хотите.

Надеюсь, это поможет.

0 голосов
/ 02 ноября 2009

Похоже, вы действительно ищете объект групповой политики в Active Directory, который запрещает пользователям печатать, возможно?

обновление
Что мешает указанным пользователям отправлять по электронной почте PDF-файл себе и печатать дома, кроме другого объекта групповой политики, который предотвращает вложения с данными расширениями или с определенными размерами?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...