Wyszyfruj i odszyfruj PDF w C#

Szyfrowanie PDF służy do zabezpieczenia dokumentu PDF przed nieautoryzowanym dostępem. Jeśli dokument PDF jest zaszyfrowany, musisz go odszyfrować, aby uzyskać dostęp do jego zawartości, w przeciwnym razie pozostanie on nieczytelny. Najczęściej dokumenty PDF są szyfrowane hasłem wymaganym do otwarcia dokumentu. Z drugiej strony możesz również ograniczyć uprawnienia dostępu do różnych operacji, takich jak drukowanie, edycja, kopiowanie itp. Biblioteka PDF Aspose, Aspose.PDF for .NET, zapewnia kilka prostych sposobów szyfrowania i deszyfrowania Pliki PDF przy użyciu C# i VB.NET. W tym artykule pokażę, jak wykonać operacje szyfrowania i deszyfrowania plików PDF przy użyciu języka C#.

Interfejs API szyfrowania i odszyfrowywania plików PDF w języku C# — instalacja

Aspose.PDF for .NET jest hostowany na NuGet i można go łatwo zainstalować za pomocą Menedżera pakietów NuGet. Alternatywnie możesz pobrać bibliotekę DLL API z sekcji Downloads.

Szyfruj pliki PDF w C#

Aby zaszyfrować plik PDF, musisz ustawić hasło, które będzie wymagane do otwarcia i przeglądania dokumentu. Ponadto musisz określić żądany algorytm kryptograficzny jako metodę szyfrowania. Aspose.PDF for .NET obsługuje następujące metody szyfrowania:

  • RC4 z 40-bitowym kluczem.
  • RC4 z kluczem 128-bitowym.
  • AES z kluczem 128-bitowym.
  • AES z kluczem 256-bitowym.

Kroki, aby zaszyfrować plik PDF

Poniżej przedstawiono proste kroki, aby zaszyfrować dokument PDF przy użyciu języka C#.

  • Załaduj dokument PDF za pomocą klasy Document.
  • Zaszyfruj dokument PDF hasłem i algorytmem kryptograficznym za pomocą metody Document.Encrypt.
  • Zapisz zaszyfrowany dokument PDF za pomocą metody Document.Save.

Poniższy przykładowy kod pokazuje, jak zaszyfrować dokument PDF przy użyciu języka C#.

// Otwórz dokument
Document document = new Document("Encrypt.pdf");
// Szyfruj PDF  
document.Encrypt("user_password", "owner_password", 0 /*permissions*/, CryptoAlgorithm.RC4x128);
// Zapisz zaktualizowany plik PDF
document.Save("Encrypted PDF.pdf");

Gdy otworzysz ten zaszyfrowany dokument PDF w programie Adobe Reader, pojawi się następujące okno dialogowe.

zaszyfrowany dokument PDF

Odszyfruj plik PDF za pomocą C#

Aby odszyfrować dokument PDF, musisz mieć hasło użytkownika lub właściciela dokumentu. Oto proste kroki, aby odszyfrować dokument PDF:

  • Załaduj dokument PDF przy użyciu klasy Document, podając hasło użytkownika lub właściciela.
  • Wywołaj metodę Document.Decrypt().
  • Zapisz odszyfrowany dokument PDF.

Poniższy przykładowy kod pokazuje, jak odszyfrować dokument PDF przy użyciu języka C#.

// Otwórz dokument podając hasło użytkownika lub właściciela
Document document = new Document("Encrypted PDF.pdf", "user_password");
// Odszyfruj plik PDF  
document.Decrypt();
// Zapisz zaktualizowany plik PDF
document.Save("Decrypted PDF.pdf");

Zmień uprawnienia bezpieczeństwa pliku PDF w C#

Możesz zwiększyć bezpieczeństwo dokumentu PDF, ograniczając uprawnienia użytkownika. W takim przypadku możesz określić operacje, które są dozwolone dla użytkowników. Poniżej znajduje się lista uprawnień, które można ustawić, aby zezwolić użytkownikowi.

  • Drukuj dokument — umożliwia wydrukowanie dokumentu.
  • Modyfikuj zawartość — umożliwia modyfikację zawartości dokumentu.
  • Wyodrębnij zawartość — umożliwia skopiowanie zawartości z dokumentu.
  • Modyfikuj adnotacje tekstowe — umożliwia dodawanie lub modyfikowanie adnotacji tekstowych.
  • Wypełnij formularz — umożliwia wypełnianie interaktywnych pól formularza.
  • Wyodrębnij zawartość z niepełnosprawnościami — umożliwia wyodrębnienie tekstu i grafiki (dla użytkowników niepełnosprawnych).
  • Złóż dokument — umożliwia wstawianie, obracanie lub usuwanie stron oraz tworzenie zakładek lub miniatur.
  • Jakość druku — umożliwia drukowanie dokumentów w wysokiej rozdzielczości.

Kroki, aby zmienić uprawnienia bezpieczeństwa pliku PDF

Poniżej przedstawiono kroki zmiany uprawnień zabezpieczeń dokumentu PDF.

  • Załaduj dokument PDF.
  • Ustaw uprawnienia bezpieczeństwa za pomocą metody Document.Encrypt.
  • Zapisz zaszyfrowany dokument PDF.

Poniższy przykładowy kod pokazuje, jak zmienić uprawnienia do dokumentu PDF przy użyciu języka C#.

// Otwórz dokument
Document document = new Document("Encrypt.pdf");
// Szyfruj pliki PDF z uprawnieniami do drukowania
document.Encrypt("user_password", "owner_password", Permissions.PrintDocument | Permissions.PrintingQuality, CryptoAlgorithm.RC4x128);
// Zapisz zaktualizowany plik PDF
document.Save("Encrypted PDF.pdf");

Innym sposobem ustawienia lub modyfikacji uprawnień do dokumentów PDF jest użycie klasy DocumentPrivilege. Klasa DocumentPrivilege umożliwia definiowanie uprawnień lub uprawnień dla użytkowników. Poniższy przykładowy kod pokazuje, jak ustawić uprawnienia zabezpieczeń dokumentu PDF przy użyciu klasy DocumentPrivilege w języku C#.

// Otwórz dokument
Document document = new Document("Encrypt.pdf");
// Zastosuj ograniczenia do wszystkich uprawnień
DocumentPrivilege privileges = DocumentPrivilege.ForbidAll;
// Zezwól na żądane uprawnienia
privileges.AllowScreenReaders = true;
privileges.AllowPrint = true;
// Szyfruj PDF
document.Encrypt("user_password", "owner_password", privileges, CryptoAlgorithm.RC4x128, false);
// Zapisz zaktualizowany plik PDF
document.Save("Encrypted PDF.pdf");

Poniżej znajdują się szczegóły bezpieczeństwa dokumentu PDF, który zaszyfrowaliśmy w tej sekcji.

zmieniono uprawnienia bezpieczeństwa pliku PDF

Wniosek

W tym artykule omówiono kroki szyfrowania i odszyfrowywania dokumentów PDF przy użyciu języka C#. Ponadto nauczyłeś się również ustawiać lub modyfikować uprawnienia bezpieczeństwa dokumentu PDF w języku C#. Te funkcje bezpieczeństwa pozwalają chronić poufne dokumenty PDF za pomocą hasła i algorytmów kryptograficznych, a także ograniczają dostęp użytkownika do operacji związanych z dokumentem. Możesz zapoznać się z dokumentacją, aby dowiedzieć się więcej o naszej bibliotece .NET PDF.

Zobacz też