com.adobe.pdfservices.operation.internal.dto.request.protectpdf.ProtectPDFExternalAssetRequest Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pdfservices-sdk Show documentation
Show all versions of pdfservices-sdk Show documentation
Adobe PDF Services SDK allows you to access RESTful APIs to create, convert, and manipulate PDFs within your applications.
Older versions can be found under groupId: com.adobe.documentservices, artifactId: pdftools-sdk
/*
* Copyright 2019 Adobe
* All Rights Reserved.
*
* NOTICE: Adobe permits you to use, modify, and distribute this file in
* accordance with the terms of the Adobe license agreement accompanying
* it. If you have received this file from a source other than Adobe,
* then your use, modification, or distribution of it requires the prior
* written permission of Adobe.
*/
package com.adobe.pdfservices.operation.internal.dto.request.protectpdf;
import com.adobe.pdfservices.operation.config.notifier.NotifierConfig;
import com.adobe.pdfservices.operation.exception.SDKException;
import com.adobe.pdfservices.operation.internal.dto.request.PlatformApiRequest;
import com.adobe.pdfservices.operation.io.ExternalAsset;
import com.adobe.pdfservices.operation.pdfjobs.params.protectpdf.ContentEncryption;
import com.adobe.pdfservices.operation.pdfjobs.params.protectpdf.PasswordProtectParams;
import com.adobe.pdfservices.operation.pdfjobs.params.protectpdf.Permission;
import com.adobe.pdfservices.operation.pdfjobs.params.protectpdf.ProtectPDFParams;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.List;
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ProtectPDFExternalAssetRequest implements PlatformApiRequest {
@JsonProperty("input")
private ExternalAsset inputExternalAsset;
@JsonProperty("output")
private ExternalAsset outputExternalAsset;
@JsonProperty("params")
private ProtectPDFParamsPayload protectPDFParamsPayload;
@JsonProperty("notifiers")
private List notifierConfigList;
public ProtectPDFExternalAssetRequest(ExternalAsset inputExternalAsset, ProtectPDFParams protectPDFParams,
List notifierConfigList) {
this.inputExternalAsset = inputExternalAsset;
this.notifierConfigList = notifierConfigList;
PasswordProtection passwordProtection;
String encryptionAlgorithm;
String contentToEncrypt = ContentEncryption.ALL_CONTENT.getValue();
List permissions = null;
if (protectPDFParams instanceof PasswordProtectParams) {
PasswordProtectParams passwordProtectParams = (PasswordProtectParams) protectPDFParams;
passwordProtection = new PasswordProtection(passwordProtectParams.getUserPassword(),
passwordProtectParams.getOwnerPassword());
encryptionAlgorithm = passwordProtectParams.getEncryptionAlgorithm().getValue();
if (passwordProtectParams.getContentEncryption() != null)
contentToEncrypt = passwordProtectParams.getContentEncryption().getValue();
// if permissions are not null && permissions set is not empty
if (passwordProtectParams.getPermissions() != null && !passwordProtectParams.getPermissions().getValues()
.isEmpty()) {
permissions = new ArrayList<>();
for (Permission permission : passwordProtectParams.getPermissions().getValues()) {
permissions.add(permission.getValue());
}
}
} else {
throw new SDKException("Please provide valid protect pdf params");
}
ProtectPDFParamsPayload protectPDFParamsPayload = new ProtectPDFParamsPayload();
protectPDFParamsPayload.setPasswordProtection(passwordProtection);
protectPDFParamsPayload.setPermissions(permissions);
protectPDFParamsPayload.setContentToEncrypt(contentToEncrypt);
protectPDFParamsPayload.setEncryptionAlgorithm(encryptionAlgorithm);
this.protectPDFParamsPayload = protectPDFParamsPayload;
}
public ProtectPDFExternalAssetRequest setOutput(ExternalAsset outputExternalAsset) {
this.outputExternalAsset = outputExternalAsset;
return this;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy