В этой статье представлено пошаговое руководство и примеры кода для программного шифрования и расшифровки PDF-файлов на языке Java.

зашифровать или расшифровать pdf java

В различных случаях документы PDF шифруются до того, как они будут переданы заинтересованным сторонам. Шифрование защищает документ от несанкционированного доступа, а также от подделки содержимого. Существует несколько популярных способов защиты PDF-документов: шифрование PDF с помощью пароля или ограничение прав доступа пользователя, таких как печать, редактирование, копирование и т. д. В этой статье показано, как зашифровать или расшифровать PDF-файл в Java. Кроме того, вы узнаете, как ограничить права пользователя в документе PDF.

Java API для шифрования или расшифровки PDF — скачать бесплатно

Aspose.PDF for Java — это многофункциональный API для работы с PDF, который позволяет беспрепятственно работать с шифрованием и дешифрованием PDF. Кроме того, он позволяет программно изменять привилегии пользователя в документах PDF. Вы можете скачать API бесплатно или установить его, используя следующие конфигурации Maven.

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

Зашифровать файл PDF в Java

Шифрование документа PDF требует, чтобы вы установили пароль, который будет использоваться для открытия и доступа к документу. Наряду с этим вы можете выбрать один из следующих криптографических алгоритмов, которые будут использоваться при шифровании.

Ниже приведены шаги для шифрования файла PDF в Java.

В следующем примере кода показано, как зашифровать PDF-документ с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-pdf/Aspose.Pdf-for-Java.
// открыть документ
Document document = new Document("input.pdf");
// зашифровать PDF
document.encrypt("user", "owner", 0, CryptoAlgorithm.AESx256);
// сохранить обновленный PDF
document.save("Encrypted_output.pdf");

При открытии зашифрованного PDF-файла появляется следующее диалоговое окно.

зашифрованный pdf

Расшифровать файл PDF в Java

Для расшифровки зашифрованного документа PDF требуется пароль пользователя или владельца. Ниже приведены шаги для расшифровки файла PDF в Java.

  • Загрузите зашифрованный PDF-файл с помощью класса Document, указав пароль в конструкторе.
  • Вызовите метод Document.decrypt() для расшифровки PDF.
  • Сохраните расшифрованный документ PDF с помощью метода Document.save(string).

В следующем примере кода показано, как расшифровать зашифрованный PDF-файл с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-pdf/Aspose.Pdf-for-Java.
// открыть документ
Document document = new Document("input.pdf", "password");
// расшифровать PDF
document.decrypt();
// сохранить обновленный PDF
document.save("output.pdf");

Изменить разрешения безопасности в PDF с помощью Java

Вы также можете ограничить доступ пользователя для выполнения различных операций при шифровании PDF-документов. Ниже приведены разрешения, которые вы можете установить.

  • Печать документа – позволяет распечатать документ.
  • Изменить содержимое — позволяет изменять содержимое.
  • Извлечь содержимое — позволяет копировать содержимое из документа.
  • Изменить текстовые аннотации — позволяет добавлять или обновлять текстовые аннотации.
  • Заполнить форму — позволяет заполнять поля интерактивной формы.
  • Извлечение содержимого с ограниченными возможностями — позволяет извлекать текст и графику (для пользователей с ограниченными возможностями).
  • Собрать документ — позволяет вставлять, поворачивать или удалять страницы, а также создавать закладки или эскизы изображений.
  • Качество печати — позволяет печатать документы с высоким разрешением.

Ниже приведены шаги для установки или изменения разрешений в документе PDF.

  • Загрузите PDF-файл с помощью класса Document.
  • Используйте класс DocumentPrivilege для установки разрешений.
  • Зашифруйте PDF-файл и сохраните его, как в предыдущих примерах.

В следующем примере кода показано, как изменить разрешения в документе PDF с помощью Java.

// Полные примеры и файлы данных см. на странице 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();
}

Ниже приведены разрешения в зашифрованном файле PDF.

зашифрованный pdf

Вывод

В этой статье вы узнали, как шифровать или расшифровывать файлы PDF в Java. Кроме того, вы увидели, как изменить привилегии пользователя в документе PDF программно на Java. Вы можете изучить и узнать больше о Java PDF API, используя документацию.

Смотрите также