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

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.
- Java API do szyfrowania lub deszyfrowania plików PDF
- Zaszyfruj plik PDF za pomocą języka Java
- Odszyfruj plik PDF za pomocą języka Java
- Zmień uprawnienia bezpieczeństwa w pliku PDF za pomocą języka Java
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.
- Załaduj dokument PDF za pomocą klasy Document.
- Zaszyfruj plik PDF przy użyciu metody Document.encrypt(“userpassword”, “ownerpassword”, 0, CryptoAlgorithm).
- Zapisz zaszyfrowany plik PDF przy użyciu metody Document.save(string).
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.

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.
- Załaduj zaszyfrowany plik PDF przy użyciu klasy Document, podając hasło w konstruktorze.
- Wywołaj metodę Document.decrypt(), aby odszyfrować plik PDF.
- Zapisz odszyfrowany dokument PDF za pomocą metody Document.save(string).
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.

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.