Розшифруйте та розшифруйте PDF на C#

Шифрування PDF використовується для захисту документа PDF від несанкціонованого доступу. Якщо PDF-документ зашифровано, його потрібно розшифрувати, щоб отримати доступ до його вмісту, інакше він залишиться нечитабельним. Найчастіше PDF-документи зашифровані паролем, необхідним для відкриття документа. З іншого боку, ви також можете обмежити права доступу до різних операцій, таких як друк, редагування, копіювання тощо. PDF-бібліотека Aspose, Aspose.PDF for .NET, надає кілька простих способів шифрування та дешифрування PDF-файли з використанням C# і VB.NET. У цій статті я покажу вам, як виконувати операції шифрування та дешифрування PDF за допомогою C#.

C# PDF Encryption and Decryption API – встановлення

Aspose.PDF for .NET розміщено на NuGet і його можна легко встановити за допомогою диспетчера пакетів NuGet. Крім того, ви можете завантажити DLL API з розділу Завантаження.

Шифруйте PDF-файли на C#

Щоб зашифрувати PDF-файл, вам потрібно встановити пароль, який буде потрібен для відкриття та перегляду документа. Крім того, ви повинні вказати бажаний криптографічний алгоритм як метод шифрування. Aspose.PDF for .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 за допомогою C#

Щоб розшифрувати 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, обмеживши дозволи користувача. У такому випадку ви можете вказати операції, дозволені для користувачів. Нижче наведено список дозволів, які можна надати для користувача.

  • Друк документа - дозволяє роздрукувати документ.
  • Змінити вміст - дозволяє змінювати вміст документа.
  • Витягти вміст – дозволяє скопіювати вміст із документа.
  • Змінити текстові анотації - дозволяє додавати або змінювати текстові анотації.
  • Заповнити форму – дозволяє заповнювати поля інтерактивної форми.
  • Extract Content with Disabilities - дозволяє видобувати текст і графіку (для користувачів з обмеженими можливостями).
  • Зберіть документ – дозволяє вставляти, обертати або видаляти сторінки та створювати закладки чи мініатюри зображень.
  • Якість друку - дозволяє друкувати документи з високою роздільною здатністю.

Кроки для зміни дозволів безпеки 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.

Дивись також