Ten artykuł zawiera przewodnik krok po kroku i przykłady kodu do programowego szyfrowania i odszyfrowywania plików PDF w Javie.

zaszyfrować lub odszyfrować pdf java

W różnych przypadkach dokumenty PDF są szyfrowane przed udostępnieniem ich zainteresowanym stronom. Szyfrowanie zabezpiecza dokument przed nieautoryzowanym dostępem oraz manipulacją treścią. Istnieje kilka popularnych sposobów zabezpieczania dokumentów PDF — szyfrowanie plików PDF za pomocą hasła lub ograniczanie uprawnień dostępu użytkownika, takich jak drukowanie, edytowanie, kopiowanie itp. W tym artykule pokazano, jak zaszyfrować lub odszyfrować plik PDF w Javie. Ponadto dowiesz się, jak ograniczyć uprawnienia użytkownika w dokumencie PDF.

Interfejs API języka Java do szyfrowania lub odszyfrowywania plików PDF — bezpłatne pobieranie

Aspose.PDF for Java to bogaty w funkcje interfejs API do manipulacji plikami PDF, który umożliwia bezproblemową pracę z szyfrowaniem i deszyfrowaniem plików PDF. Ponadto pozwala programowo modyfikować uprawnienia użytkownika w dokumentach PDF. Możesz pobrać interfejs API za darmo lub zainstalować go, korzystając z następujących konfiguracji Mavena.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.9</version>
    <classifier>jdk17</classifier>
</dependency>

Zaszyfruj plik PDF w Javie

Szyfrowanie dokumentu PDF wymaga ustawienia hasła, które będzie używane do otwierania i uzyskiwania dostępu do dokumentu. Wraz z tym możesz wybrać jeden z następujących algorytmów kryptograficznych do użycia w szyfrowaniu.

Poniżej przedstawiono kroki szyfrowania pliku PDF w Javie.

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

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// otwórz dokument
Document document = new Document("input.pdf");
// szyfrować PDF
document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256);
// zapisz zaktualizowany plik PDF
document.save("Encrypted_output.pdf");

Po otwarciu zaszyfrowanego pliku PDF pojawi się następujące okno dialogowe.

zaszyfrowany pdf

Odszyfruj plik PDF w Javie

Odszyfrowanie zaszyfrowanego dokumentu PDF wymaga podania hasła użytkownika lub właściciela. Poniżej przedstawiono kroki, aby odszyfrować plik PDF w Javie.

Poniższy przykładowy kod pokazuje, jak odszyfrować zaszyfrowany plik PDF przy użyciu języka Java.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// otwórz dokument
Document document = new Document("input.pdf", "password");
// odszyfrować plik PDF
document.decrypt();
// zapisz zaktualizowany plik PDF
document.save("output.pdf");

Zmień uprawnienia bezpieczeństwa w pliku PDF za pomocą języka Java

Możesz także ograniczyć dostęp użytkownika do wykonywania różnych operacji podczas szyfrowania dokumentów PDF. Poniżej przedstawiono uprawnienia, które można ustawić.

  • Drukuj dokument – umożliwia drukowanie dokumentu.
  • Modyfikuj zawartość — umożliwia modyfikację zawartości.
  • Wyodrębnij zawartość – umożliwia skopiowanie zawartości z dokumentu.
  • Modyfikuj adnotacje tekstowe — umożliwia dodawanie lub aktualizowanie 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 obrazów miniatur.
  • Jakość druku — umożliwia drukowanie dokumentów w wysokiej rozdzielczości.

Poniżej przedstawiono kroki ustawiania lub modyfikowania uprawnień w dokumencie PDF.

  • Załaduj plik PDF przy użyciu klasy Document.
  • Użyj klasy DocumentPrivilege, aby ustawić uprawnienia.
  • Zaszyfruj plik PDF i zapisz go tak, jak w poprzednich przykładach.

Poniższy przykładowy kod pokazuje, jak modyfikować uprawnienia w dokumencie PDF przy użyciu języka Java.

// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.Pdf-for-Java
Document document = new Document("inputFile.pdf");
try /* JAVA: was using */
{
	DocumentPrivilege documentPrivilege = DocumentPrivilege.getForbidAll();
	documentPrivilege.setAllowScreenReaders(true);
	documentPrivilege.setAllowPrint(true);

	document.encrypt("user", "owner", documentPrivilege, CryptoAlgorithm.AESx128, false);
	document.save("outputFile.pdf");
} finally {
	if (document != null)
		document.dispose();
}

Poniżej przedstawiono uprawnienia w zaszyfrowanym pliku PDF.

zaszyfrowany pdf

Wniosek

W tym artykule nauczyłeś się szyfrować lub odszyfrowywać pliki PDF w Javie. Ponadto widziałeś, jak programowo w Javie modyfikować uprawnienia użytkownika w dokumencie PDF. Możesz eksplorować i dowiedzieć się więcej o API Java PDF za pomocą documentation.

Zobacz też

Dodaj i weryfikuj podpisy cyfrowe w formacie PDF przy użyciu języka JavaDodaj dane z bazy danych do pliku PDF w języku C#Dodaj lub usuń JavaScript do plików PDF w języku C#
Dodaj lub usuń JavaScript do plików PDF w JavieDodaj lub zaktualizuj hiperłącza w formacie PDF w języku C#Dodaj lub zaktualizuj hiperłącza w formacie PDF w Javie
Tworzenie wykresów i wykresów w formacie PDF w języku C#Tworzenie wykresów i wykresów w formacie PDF w JavieTworzenie tabel w plikach PDF przy użyciu języka C#
Tworzenie tabel w plikach PDF za pomocą języka JavaUtwórz tagowany plik PDF w JavieUtworzono oznaczone pliki PDF w języku C#
Generuj miniatury plików PDF w języku C#Generuj miniatury plików PDF w JavieZamień obrazy w plikach PDF w języku C#
Zamień obrazy w plikach PDF w JavieObracanie tekstu w dokumentach PDF w języku C#Obracanie tekstu w pliku PDF w Javie