Exkryptera och dekryptera PDF i C#

PDF-kryptering används för att skydda PDF-dokumentet från obehörig åtkomst. Om ett PDF-dokument är krypterat måste du dekryptera det för att komma åt dess innehåll, annars förblir det oläsligt. Oftast är PDF-dokumenten krypterade med ett lösenord som krävs för att öppna dokumentet. Å andra sidan kan du också begränsa åtkomstbehörigheterna till olika operationer såsom utskrift, redigering, kopiering etc. Asposes PDF-bibliotek, Aspose.PDF for .NET, ger några enkla sätt att kryptera och dekryptera PDF-filer med C# och VB.NET. I den här artikeln kommer jag att visa dig hur du utför PDF-kryptering och dekrypteringsoperationer med C#.

C# PDF Encryption and Decryption API - Installation

Aspose.PDF för .NET finns på NuGet och kan enkelt installeras med NuGet Package Manager. Alternativt kan du ladda ner API:s DLL från avsnittet Nedladdningar.

Kryptera en PDF-fil i C#

För att kryptera en PDF-fil måste du ange ett lösenord som krävs för att öppna och visa dokumentet. Dessutom måste du ange önskad kryptografisk algoritm som krypteringsmetod. Aspose.PDF för .NET stöder följande krypteringsmetoder:

  • RC4 med en 40-bitars nyckel.
  • RC4 med en 128-bitars nyckel.
  • AES med en 128-bitars nyckel.
  • AES med en 256-bitars nyckel.

Steg för att kryptera en PDF-fil

Följande är de enkla stegen för att kryptera ett PDF-dokument med C#.

  • Ladda PDF-dokumentet med klassen Document.
  • Kryptera PDF-dokumentet med ett lösenord och en kryptografisk algoritm med metoden Document.Encrypt.
  • Spara det krypterade PDF-dokumentet med metoden Document.Save.

Följande kodexempel visar hur man krypterar ett PDF-dokument med C#.

// Öppna dokumentet
Document document = new Document("Encrypt.pdf");
// Kryptera PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Spara uppdaterad PDF
document.Save("Encrypted PDF.pdf");

När du öppnar det här krypterade PDF-dokumentet i Adobe Reader, kommer det att öppna följande dialogruta.

krypterade PDF-dokument

Dekryptera en PDF-fil med C#

För att dekryptera ett PDF-dokument måste du ha användar- eller ägarlösenordet för dokumentet. Följande är de enkla stegen för att dekryptera ett PDF-dokument:

  • Ladda PDF-dokument med klassen Document genom att ange användarens eller ägarens lösenord.
  • Anropa metoden Document.Decrypt().
  • Spara det dekrypterade PDF-dokumentet.

Följande kodexempel visar hur man dekrypterar ett PDF-dokument med C#.

// Öppna dokumentet genom att ange användarens eller ägarens lösenord
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Dekryptera PDF  
document.Decrypt();
// Spara uppdaterad PDF
document.Save("Decrypted PDF.pdf");

Ändra säkerhetsbehörigheter för en PDF-fil i C#

Du kan förbättra säkerheten för ett PDF-dokument genom att begränsa användarens behörighet. I ett sådant fall kan du ange vilka operationer som är tillåtna för användarna. Följande är listan över de behörigheter som du kan ställa in för att tillåta en användare.

  • Skriv ut dokument - tillåter utskrift av dokumentet.
  • Ändra innehåll - Tillåter att ändra innehållet i dokumentet.
  • Extrahera innehåll - tillåter kopiering av innehållet från dokumentet.
  • Ändra textkommentarer - Tillåter att lägga till eller ändra textkommentarer.
  • Fyll i formulär - tillåter att de interaktiva formulärfälten fylls i.
  • Extrahera innehåll med funktionshinder - tillåter extrahering av text och grafik (för användare med funktionshinder).
  • Montera dokument - Gör det möjligt att infoga, rotera eller ta bort sidor och skapa bokmärken eller miniatyrbilder.
  • Utskriftskvalitet - Gör det möjligt att skriva ut dokument med hög upplösning.

Steg för att ändra säkerhetsbehörigheter för en PDF-fil

Följande är stegen för att ändra säkerhetsbehörigheterna för ett PDF-dokument.

  • Ladda PDF-dokumentet.
  • Ställ in säkerhetsbehörigheter med metoden Document.Encrypt.
  • Spara det krypterade PDF-dokumentet.

Följande kodexempel visar hur du ändrar behörigheter för ett PDF-dokument med C#.

// Öppna dokumentet
Document document = new Document("Encrypt.pdf");
// Kryptera PDF med utskriftstillstånd
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Spara uppdaterad PDF
document.Save("Encrypted PDF.pdf");

Ett annat sätt att ställa in eller ändra privilegierna för PDF-dokument är att använda klassen DocumentPrivilege. Klassen DocumentPrivilege låter dig definiera behörigheter eller privilegier för användarna. Följande kodexempel visar hur du ställer in säkerhetsbehörigheterna för ett PDF-dokument med klassen DocumentPrivilege i C#.

// Öppna dokumentet
Document document = new Document("Encrypt.pdf");
// Tillämpa begränsningar för alla privilegier
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Tillåt önskade privilegier
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Kryptera PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Spara uppdaterad PDF
document.Save("Encrypted PDF.pdf");

Följande är säkerhetsdetaljerna för PDF-dokumentet som vi har krypterat i det här avsnittet.

ändrade säkerhetsbehörigheter för PDF

Slutsats

I den här artikeln har du gått igenom stegen för hur du krypterar och dekrypterar PDF-dokument med C#. Dessutom har du också lärt dig hur du ställer in eller ändrar säkerhetsbehörigheterna för ett PDF-dokument i C#. Dessa säkerhetsfunktioner låter dig skydda de känsliga PDF-dokumenten med hjälp av lösenordet och kryptografiska algoritmer samt begränsa användarens åtkomst till dokumentrelaterade operationer. Du kan konsultera dokumentationen för att lära dig mer om vårt .NET PDF-bibliotek.

Se även