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.
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.
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.