Šifrovat a dešifrovat PDF v C#

Šifrování PDF se používá k zabezpečení dokumentu PDF před neoprávněným přístupem. Pokud je dokument PDF zašifrován, musíte jej dešifrovat, abyste získali přístup k jeho obsahu, jinak zůstane nečitelný. Nejčastěji jsou dokumenty PDF zašifrovány heslem, které je nutné k otevření dokumentu. Na druhou stranu můžete také omezit přístupová oprávnění na různé operace, jako je tisk, úpravy, kopírování atd. Knihovna PDF Aspose, Aspose.PDF for .NET, poskytuje několik jednoduchých způsobů šifrování a dešifrování Soubory PDF pomocí C# a VB.NET. V tomto článku vám ukážu, jak provádět operace šifrování a dešifrování PDF pomocí C#.

C# PDF Encryption and Decryption API - Instalace

Aspose.PDF for .NET je hostován na NuGet a lze jej snadno nainstalovat pomocí Správce balíčků NuGet. Alternativně si můžete stáhnout DLL rozhraní API ze sekce Downloads.

Šifrování souborů PDF v C#

Chcete-li zašifrovat soubor PDF, musíte nastavit heslo, které bude vyžadováno pro otevření a zobrazení dokumentu. Kromě toho musíte jako metodu šifrování zadat požadovaný kryptografický algoritmus. Aspose.PDF for .NET podporuje následující metody šifrování:

  • RC4 se 40bitovým klíčem.
  • RC4 se 128bitovým klíčem.
  • AES se 128bitovým klíčem.
  • AES s 256bitovým klíčem.

Kroky k šifrování souboru PDF

Níže jsou uvedeny jednoduché kroky k zašifrování dokumentu PDF pomocí jazyka C#.

  • Načtěte dokument PDF pomocí třídy Document.
  • Zašifrujte dokument PDF pomocí hesla a kryptografického algoritmu pomocí metody Document.Encrypt.
  • Uložte zašifrovaný dokument PDF pomocí metody Document.Save.

Následující ukázka kódu ukazuje, jak zašifrovat dokument PDF pomocí C#.

// Otevřete dokument
Document document = new Document("Encrypt.pdf");
// Šifrovat PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Uložit aktualizované PDF
document.Save("Encrypted PDF.pdf");

Když otevřete tento zašifrovaný dokument PDF v aplikaci Adobe Reader, zobrazí se následující dialog.

zašifrovaný dokument PDF

Dešifrování souboru PDF pomocí C#

Abyste mohli dešifrovat dokument PDF, musíte mít heslo uživatele nebo vlastníka dokumentu. Níže jsou uvedeny jednoduché kroky k dešifrování dokumentu PDF:

  • Načtěte dokument PDF pomocí třídy Document zadáním hesla uživatele nebo vlastníka.
  • Zavolejte metodu Document.Decrypt().
  • Uložte dešifrovaný dokument PDF.

Následující ukázka kódu ukazuje, jak dešifrovat dokument PDF pomocí C#.

// Otevřete dokument zadáním hesla uživatele nebo vlastníka
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Dešifrovat PDF  
document.Decrypt();
// Uložit aktualizované PDF
document.Save("Decrypted PDF.pdf");

Změna bezpečnostních oprávnění souboru PDF v C#

Zabezpečení dokumentu PDF můžete zvýšit omezením oprávnění uživatele. V takovém případě můžete určit operace, které jsou uživatelům povoleny. Následuje seznam oprávnění, která můžete uživateli povolit.

  • Tisk dokumentu – Umožňuje tisk dokumentu.
  • Upravit obsah – Umožňuje upravit obsah dokumentu.
  • Extrahovat obsah – Umožňuje kopírování obsahu z dokumentu.
  • Upravit textové anotace – Umožňuje přidávat nebo upravovat textové anotace.
  • Vyplnit formulář – Umožňuje vyplňování interaktivních polí formuláře.
  • Extrahovat obsah se zdravotním postižením – umožňuje extrahování textu a grafiky (pro uživatele s postižením).
  • Sestavit dokument – Umožňuje vkládat, otáčet nebo mazat stránky a vytvářet záložky nebo miniatury.
  • Kvalita tisku – Umožňuje tisk dokumentů s vysokým rozlišením.

Kroky ke změně oprávnění zabezpečení souboru PDF

Níže jsou uvedeny kroky ke změně oprávnění zabezpečení dokumentu PDF.

  • Načtěte dokument PDF.
  • Nastavte bezpečnostní oprávnění pomocí metody Document.Encrypt.
  • Uložte zašifrovaný dokument PDF.

Následující ukázka kódu ukazuje, jak změnit oprávnění dokumentu PDF pomocí C#.

// Otevřete dokument
Document document = new Document("Encrypt.pdf");
// Šifrovat PDF s oprávněním k tisku
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Uložit aktualizované PDF
document.Save("Encrypted PDF.pdf");

Dalším způsobem, jak nastavit nebo upravit oprávnění dokumentů PDF, je použití třídy DocumentPrivilege. Třída DocumentPrivilege vám umožňuje definovat oprávnění nebo oprávnění pro uživatele. Následující ukázka kódu ukazuje, jak nastavit oprávnění zabezpečení dokumentu PDF pomocí třídy DocumentPrivilege v C#.

// Otevřete dokument
Document document = new Document("Encrypt.pdf");
// Použít omezení na všechna oprávnění
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Povolit požadovaná oprávnění
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Šifrovat PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Uložit aktualizované PDF
document.Save("Encrypted PDF.pdf");

Níže jsou uvedeny podrobnosti zabezpečení dokumentu PDF, který jsme v této části zašifrovali.

změnila bezpečnostní oprávnění PDF

Závěr

V tomto článku jste prošli kroky, jak šifrovat a dešifrovat dokumenty PDF pomocí C#. Dále jste se také naučili, jak nastavit nebo upravit oprávnění zabezpečení dokumentu PDF v C#. Tyto funkce zabezpečení umožňují chránit citlivé dokumenty PDF pomocí hesla a kryptografických algoritmů a také omezit přístup uživatele k operacím souvisejícím s dokumenty. Další informace o naší .NET PDF knihovně můžete nahlédnout do dokumentace.

Viz také