Расшифровать и расшифровать PDF в C#

Шифрование PDF используется для защиты документа PDF от несанкционированного доступа. Если PDF-документ зашифрован, вам необходимо расшифровать его, чтобы получить доступ к его содержимому, иначе он останется нечитаемым. Чаще всего PDF-документы шифруются паролем, который требуется для открытия документа. С другой стороны, вы также можете ограничить права доступа для различных операций, таких как печать, редактирование, копирование и т. д. PDF-библиотека Aspose, Aspose.PDF для .NET, предоставляет несколько простых способов шифрования и дешифрования. PDF-файлы с использованием C# и VB.NET. В этой статье я покажу вам, как выполнять операции шифрования и дешифрования PDF-файлов с помощью C#.

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-документа:

  • Загрузите документ 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

Вывод

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

Смотрите также