Carl Smith
ДОБАВЛЕНИЕ РАЗРЕШЕНИЙ БЕЗОПАСНОСТИ В PDF В JAVA
При отправке PDF-документа другим пользователям, если вы хотите запретить им печатать, редактировать или копировать содержимое документа, вы можете защитить PDF-документ паролем разрешения. В этой статье мы расскажем, как установить разрешения безопасности для PDF-документа в Java с помощью библиотеки Free Spire.PDF for Java.
Конфигурация среды
Метод 1: Загрузите Free Spire.PDF for Java и разархивируйте его. Затем добавьте файл Spire.Pdf.jar в свой проект в качестве зависимости.
Метод 2: Установите пакет jar через репозиторий Maven, и код для настройки файла pom.xml выглядит следующим образом.
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>http://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
Пример кода
Free Spire.PDF for Java позволяет зашифровать PDF-документ с помощью пароля открытия и пароля разрешения, а также установить разрешения безопасности с помощью метода PdfDocument.getSecurity().encypt(). Этот метод принимает в качестве параметра перечисление PdfPermissionsFlags, которое определяет разрешения доступа пользователя к зашифрованному документу. Полный код примера показан ниже.
import com.spire.pdf.PdfDocument;
import com.spire.pdf.security.PdfEncryptionKeySize;
import com.spire.pdf.security.PdfPermissionsFlags;
import java.util.EnumSet;
public class ChangeSecurityPermissions {
public static void main(String[] args) {
//Создание объекта PdfDocument
PdfDocument doc = new PdfDocument();
//Загрузка образца файла PDF
doc.loadFromFile("input.pdf");
//Укажите открытый пароль
String openPsd = "";
//Укажите пароль разрешения
String permissionPsd = "abc123";
//Укажите разрешения
EnumSet permissionsFlags = EnumSet.of(PdfPermissionsFlags.Print, PdfPermissionsFlags.Full_Quality_Print);
//Зашифруйте документ с помощью открытого пароля и пароля разрешения, а также установите разрешения и размер ключа шифрования
doc.getSecurity().encrypt(openPsd, permissionPsd, permissionsFlags, PdfEncryptionKeySize.Key_128_Bit);
//Сохранить документ в другой файл PDF
doc.saveToFile("SecurityPermissions.pdf");
}
}