Шифрование PDF используется для защиты документа PDF от несанкционированного доступа. Если PDF-документ зашифрован, вам необходимо расшифровать его, чтобы получить доступ к его содержимому, иначе он останется нечитаемым. Чаще всего PDF-документы шифруются паролем, который требуется для открытия документа. С другой стороны, вы также можете ограничить права доступа для различных операций, таких как печать, редактирование, копирование и т. д. PDF-библиотека Aspose, Aspose.PDF для .NET, предоставляет несколько простых способов шифрования и дешифрования. PDF-файлы с использованием C# и VB.NET. В этой статье я покажу вам, как выполнять операции шифрования и дешифрования PDF-файлов с помощью C#.
- Зашифровать файл PDF с помощью C#
- Расшифровать файл PDF с помощью C#
- Изменение разрешений безопасности в файле PDF
C# API шифрования и дешифрования PDF — установка
Aspose.PDF для .NET размещен на NuGet и может быть легко установлен с помощью диспетчера пакетов NuGet. Кроме того, вы можете загрузить DLL API из раздела Загрузки.
Зашифровать PDF-файлы в C#
Чтобы зашифровать PDF-файл, вам необходимо установить пароль, который потребуется для открытия и просмотра документа. Кроме того, вы должны указать желаемый криптографический алгоритм в качестве метода шифрования. Aspose.PDF для .NET поддерживает следующие методы шифрования:
- RC4 с 40-битным ключом.
- RC4 со 128-битным ключом.
- AES со 128-битным ключом.
- AES с 256-битным ключом.
Шаги для шифрования файла PDF
Ниже приведены простые шаги для шифрования документа PDF с помощью C#.
- Загрузите документ PDF, используя класс Document.
- Зашифруйте документ PDF с помощью пароля и криптографического алгоритма, используя метод Document.Encrypt.
- Сохраните зашифрованный PDF-документ методом Document.Save.
В следующем примере кода показано, как зашифровать PDF-документ с помощью C#.
// Открыть документ
Document document = new Document("Encrypt.pdf");
// Зашифровать PDF
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Сохранить обновленный PDF
document.Save("Encrypted PDF.pdf");
Когда вы откроете этот зашифрованный PDF-документ в Adobe Reader, появится следующее диалоговое окно.
Расшифровать файл PDF с помощью С#
Чтобы расшифровать PDF-документ, у вас должен быть пароль пользователя или владельца документа. Ниже приведены простые шаги для расшифровки PDF-документа:
- Загрузите документ PDF с помощью класса Document, указав пароль пользователя или владельца.
- Вызовите метод Document.Decrypt().
- Сохраните расшифрованный PDF-документ.
В следующем примере кода показано, как расшифровать PDF-документ с помощью C#.
// Открыть документ, указав пароль его пользователя или владельца
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Расшифровать PDF
document.Decrypt();
// Сохранить обновленный PDF
document.Save("Decrypted PDF.pdf");
Изменить разрешения безопасности файла PDF в C#
Вы можете повысить безопасность документа PDF, ограничив права пользователя. В таком случае вы можете указать операции, которые разрешены для пользователей. Ниже приведен список разрешений, которые вы можете установить для пользователя.
- Печать документа — позволяет распечатать документ.
- Изменить содержимое — позволяет изменять содержимое документа.
- Извлечь содержимое — позволяет копировать содержимое из документа.
- Изменить текстовые аннотации — позволяет добавлять или изменять текстовые аннотации.
- Заполнить форму — позволяет заполнять поля интерактивной формы.
- Извлечение содержимого с ограниченными возможностями — позволяет извлекать текст и графику (для пользователей с ограниченными возможностями).
- Собрать документ — позволяет вставлять, поворачивать или удалять страницы, а также создавать закладки или эскизы изображений.
- Качество печати — позволяет печатать документы с высоким разрешением.
Действия по изменению разрешений безопасности файла PDF
Ниже приведены шаги по изменению разрешений безопасности документа PDF.
- Загрузите PDF-документ.
- Установите разрешения безопасности, используя метод Document.Encrypt.
- Сохраните зашифрованный PDF-документ.
В следующем примере кода показано, как изменить разрешения документа PDF с помощью C#.
// Открыть документ
Document document = new Document("Encrypt.pdf");
// Зашифровать PDF с разрешением на печать
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Сохранить обновленный PDF
document.Save("Encrypted PDF.pdf");
Другой способ установить или изменить привилегии документов PDF — использовать класс DocumentPrivilege. Класс DocumentPrivilege позволяет определить разрешения или привилегии для пользователей. В следующем примере кода показано, как установить разрешения безопасности для документа PDF с помощью класса DocumentPrivilege в C#.
// Открыть документ
Document document = new Document("Encrypt.pdf");
// Применение ограничений ко всем привилегиям
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Разрешить желаемые привилегии
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Зашифровать PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Сохранить обновленный PDF
document.Save("Encrypted PDF.pdf");
Ниже приведены сведения о безопасности документа PDF, который мы зашифровали в этом разделе.
Вывод
В этой статье вы прошли этапы шифрования и расшифровки PDF-документов с помощью C#. Кроме того, вы также узнали, как установить или изменить разрешения безопасности документа PDF на C#. Эти функции безопасности позволяют защитить конфиденциальные PDF-документы с помощью пароля и криптографических алгоритмов, а также ограничить доступ пользователя к операциям, связанным с документом. Вы можете обратиться к документации, чтобы узнать больше о нашей библиотеке .NET PDF.