У цій статті ви знайдете покроковий посібник і зразки коду для програмного шифрування та розшифрування файлів PDF у Java.

зашифрувати або розшифрувати pdf java

У різних випадках документи PDF шифруються перед тим, як надати їм доступ зацікавленим сторонам. Шифрування захищає документ від несанкціонованого доступу, а також від зміни вмісту. Існує кілька популярних способів захисту PDF-документів – шифрування PDF-файлів паролем або обмеження прав доступу користувача, як-от друк, редагування, копіювання тощо. У цій статті показано, як зашифрувати або розшифрувати PDF-файл у Java. Крім того, ви дізнаєтеся, як обмежити права користувача в PDF-документі.

Бібліотека Java для шифрування або розшифрування PDF – безкоштовно завантажити

Aspose.PDF for Java — це багатофункціональна бібліотека обробки PDF-файлів, яка дозволяє легко працювати з шифруванням і дешифруванням PDF-файлів. Крім того, він дозволяє змінювати привілеї користувача в документах PDF програмним шляхом. Ви можете завантажити бібліотеку безкоштовно або встановити її за допомогою наведених нижче конфігурацій 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>22.12</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

Безкоштовна бібліотека Java для шифрування PDF

Ви можете отримати безкоштовну тимчасову ліцензію і шифрувати або розшифровувати PDF-файли без будь-яких обмежень.

Дослідіть бібліотеку Java PDF

Ви можете вивчити та дізнатися більше про бібліотеку Java PDF за допомогою документації.

Висновок

У цій статті ви дізналися, як шифрувати або розшифровувати PDF-файли в Java. Крім того, ви бачили, як програмно змінити привілеї користувача в PDF-документі в Java. Ви можете легко використовувати надані зразки коду у своїх програмах Java.

Дивись також

Додавання та перевірка цифрових підписів у PDF за допомогою JavaДодати дані з бази даних до PDF на C#Додати або видалити JavaScript до файлів PDF на C#
Додати або видалити JavaScript до PDF-файлів у JavaДодати або оновити гіперпосилання в PDF на C#Додати або оновити гіперпосилання в PDF на Java
Створення графіків і діаграм у форматі PDF на C#Створення графіків і діаграм у форматі PDF на JavaСтворення таблиць у PDF-файлах за допомогою C#
Створення таблиць у PDF-файлах за допомогою JavaСтворити тегований PDF-файл у JavaСтворено PDF-файли з тегами на C#
Створення мініатюр для PDF-файлів у C#Створення мініатюр для PDF-файлів у JavaЗамінити зображення у PDF-файлах на C#
Замінити зображення у PDF-файлах у JavaОбертання тексту в документах PDF у C#Обертання тексту в PDF-файлі в Java