2009-10-31 7 views
2

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

+2

Какую библиотеку или метод вы используете, если таковые имеются, для создания или доступа к PDF? В зависимости от библиотеки решение будет по-разному, если возможно вообще. – Jason

+0

Jason, Мы конвертируем документы MS Word с помощью Adobe Pro. – 2009-10-31 00:46:42

ответ

5

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

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

+0

Спасибо, Стивен, за ваш быстрый ответ. Я понимаю, что мы не можем помешать нашим пользователям печатать и делать снимки экрана, если они хотят взломать pdf.Мы просто хотим отключить кнопку печати, потому что эти пользователи не могут установить что-либо на своих компьютерах, и захват экрана не является нашей проблемой. Как установить параметр DRM с помощью .net? – 2009-10-31 00:44:27

2

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

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

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

0

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

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

+1

Это, безусловно, было бы решением, однако оно было бы негибким. – monksy

+1

Если вы хотите избежать печати, звучит так, будто вы ищете негибкость? Возможно, я ошибаюсь и хотел бы услышать от OP, чтобы узнать, не является ли это неправильной оценкой. – warren

0

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

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

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

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

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

Смежные вопросы