Encryption Service Javaâ„¢ API Quick Start (SOAP) encryption-service-java-api-quickstart-soap
Quick Start (SOAP mode): Encrypting a PDF document using the Javaâ„¢ API
Quick Start (SOAP mode): Removing password-based encryption using the Javaâ„¢ API
Quick Start (SOAP mode): Encrypting a PDF document with a certificate using the Javaâ„¢ API
Quick Start (SOAP mode): Removing certificate-based encryption using the Javaâ„¢ API
Quick Start (SOAP mode): Unlocking an encrypted PDF document using the Javaâ„¢ API
Quick Start (SOAP mode): Determining encryption type using the Javaâ„¢ API
AEM Forms operations can be performed using the AEM Forms strongly typed API and the connection mode should be set to SOAP.
Quick Start (SOAP mode): Encrypting a PDF document using the Javaâ„¢ API quick-start-soap-mode-encrypting-a-pdf-document-using-the-java-api
The following Javaâ„¢ code example encrypts a PDF document named Loan.pdf with a password value of OpenPassword
. The primary password is PermissionPassword
. The secured PDF document is saved as a PDF file named EncryptLoan.pdf. (See Encrypting PDF Documents with a Password.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if the Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.File;
 import java.io.FileInputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class PasswordEncryptPDFSoap{
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms using SOAP mode
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory instance
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create an EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Specify the PDF document to encrypt with a password
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\Loan.pdf");
  Document inDoc = new Document (fileInputStream);
  //Create a PasswordEncryptionOptionSpec object that stores encryption run-time values
  PasswordEncryptionOptionSpec passSpec = new PasswordEncryptionOptionSpec();
  //Specify the PDF document resource to encrypt
  passSpec.setEncryptOption(PasswordEncryptionOption.ALL);
  //Specify the permission associated with the password
  //These permissions enable data to be extracted from a password
  //protected PDF form
  List<PasswordEncryptionPermission> encrypPermissions = new ArrayList<PasswordEncryptionPermission>();
  encrypPermissions.add(PasswordEncryptionPermission.PASSWORD_EDIT_ADD);
  encrypPermissions.add(PasswordEncryptionPermission.PASSWORD_EDIT_MODIFY);
  passSpec.setPermissionsRequested(encrypPermissions);
  //Specify the Acrobat version
  passSpec.setCompatability(PasswordEncryptionCompatability.ACRO_7);
  //Specify the password values
  passSpec.setDocumentOpenPassword("OpenPassword");
  passSpec.setPermissionPassword("PermissionPassword");
  //Encrypt the PDF document
  Document encryptDoc = encryptClient.encryptPDFUsingPassword(inDoc,passSpec);
  //Save the password-encrypted PDF document
  File outFile = new File("C:\\51ºÚÁϲ»´òìÈ\EncryptLoan.pdf");
  encryptDoc.copyToFile (outFile);
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
 }
Quick Start (SOAP mode): Removing password-based encryption using the Javaâ„¢ API quick-start-soap-mode-removing-password-based-encryption-using-the-java-api
The following Javaâ„¢ code example removes password-based encryption from a PDF document named EncryptLoan.pdf. The primary password value used to remove password-based encryption is PermissionPassword. The unsecured PDF document is saved as a PDF file named noEncryptionLoan.pdf. (See Removing Password Encryption.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if the Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.File;
 import java.io.FileInputStream;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class RemovePasswordFromPDFSOAP {
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory object
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create an EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Get the encrypted PDF from which to remove password-based encryption
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\EncryptLoan.pdf");
  Document inDoc = new Document (fileInputStream);
  //Remove password-based encryption from the PDF document
  Document encryptDoc = encryptClient.removePDFPasswordSecurity(inDoc,"PermissionPassword");
  //Save the unsecured PDF document
  File outFile = new File("C:\\51ºÚÁϲ»´òìÈ\noEncryptionLoan.pdf");
  encryptDoc.copyToFile (outFile);
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
 }
Quick Start (SOAP mode): Encrypting a PDF document with a certificate using the Javaâ„¢ API quick-start-soap-mode-encrypting-a-pdf-document-with-a-certificate-using-the-java-api
The following Javaâ„¢ code example encrypts a PDF document named Loan.pdf with a certificate named Encryption.cer. The encrypted PDF document is saved as a PDF file named EncryptLoanCert.pdf. (See Encrypting PDF Documents with Certificates.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if the Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.File;
 import java.io.FileInputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class PKIEncryptPDFSoap {
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms using SOAP mode
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory instance
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create an EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Specify the PDF document to encrypt with a certificate
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\Loan.pdf");
  Document inDoc = new Document (fileInputStream);
  //Set the List that stores PKI information
  List pkiIdentities = new ArrayList();
  //Set the Permission List
  List permList = new ArrayList();
  permList.add(CertificateEncryptionPermissions.PKI_ALL_PERM) ;
  //Create a Recipient object to store certificate information
  Recipient recipient = new Recipient();
  //Specify the private key that is used to encrypt the document
  FileInputStream fileInputStreamCert = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\Encryption.cer");
  Document privateKey = new Document (fileInputStreamCert);
  recipient.setX509Cert(privateKey);
  //Create an EncryptionIdentity object
  CertificateEncryptionIdentity encryptionId = new CertificateEncryptionIdentity();
  encryptionId.setPerms(permList);
  encryptionId.setRecipient(recipient);
  //Add the EncryptionIdentity to the list
  pkiIdentities.add(encryptionId);
  //Set encryption run-time options
  CertificateEncryptionOptionSpec certOptionsSpec = new CertificateEncryptionOptionSpec();
  certOptionsSpec.setOption(CertificateEncryptionOption.ALL);
  certOptionsSpec.setCompat(CertificateEncryptionCompatibility.ACRO_7);
  //Encrypt the PDF document with a certificate
  Document encryptDoc = encryptClient.encryptPDFUsingCertificates(inDoc,pkiIdentities, certOptionsSpec);
  //Save the encrypted PDF document
  File outFile = new File("C:\\51ºÚÁϲ»´òìÈ\EncryptLoanCert.pdf");
  encryptDoc.copyToFile (outFile);
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
 }
Quick Start (SOAP mode): Removing certificate-based encryption using the Javaâ„¢ API quick-start-soap-mode-removing-certificate-based-encryption-using-the-java-api
The following Javaâ„¢ code example removes certificate-based encryption from a PDF document named EncryptLoanCert.pdf. The alias of the public key that is used to remove encryption is Encryption
. The unsecured PDF document is saved as a PDF file named noEncryptionLoan.pdf. (See Removing Certificate Based Encryption.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if the Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.File;
 import java.io.FileInputStream;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class RemovePKIFromPDFSOAP {
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms using SOAP mode
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory object
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create an EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Get the encrypted PDF document
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\EncryptLoanCert.pdf");
  Document inDoc = new Document (fileInputStream);
  //Remove certificate-based encryption from the PDF document
  Document encryptDoc = encryptClient.removePDFCertificateSecurity(inDoc, "Encryption");
  //Save the unsecured PDF document
  File outFile = new File("C:\\51ºÚÁϲ»´òìÈ\noEncryptionLoan.pdf");
  encryptDoc.copyToFile (outFile);
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
 }
Quick Start (SOAP mode): Unlocking an encrypted PDF document using the Javaâ„¢ API quick-start-soap-mode-unlocking-an-encrypted-pdf-document-using-the-java-api
The following Javaâ„¢ code example unlocks a password-encrypted PDF document named EncryptLoan.pdf. (See Unlocking Encrypted PDF Documents.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.FileInputStream;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class UnlockPDFSOAP {
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms using SOAP mode
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory object
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create an EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Get the password-encrypted PDF document to unlock
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\EncryptLoan.pdf");
  Document inDoc = new Document (fileInputStream);
  //Specify the password to open the password-encrypted PDF document
  String openPassword = "OpenPassword" ;
  //Unlock the password-encrypted PDF document
  Document unlockedDoc = encryptClient.unlockPDFUsingPassword(inDoc,openPassword);
  }catch (Exception e) {
  System.out.println("The following error occurred during this operation " +e.getMessage());
  }
  }
 }
Quick Start (SOAP mode): Determining encryption type using the Javaâ„¢ API quick-start-soap-mode-determining-encryption-type-using-the-java-api
The following Javaâ„¢ code example determines the type of encryption that is protecting a PDF document named EncryptLoan.pdf. (See Determining Encryption Type.)
 /*
  * This Java Quick Start uses the SOAP mode and contains the following JAR files
  * in the class path:
  * 1. adobe-encryption-client.jar
  * 2. adobe-livecycle-client.jar
  * 3. adobe-usermanager-client.jar
  * 4. adobe-utilities.jar
  * 5. jboss-client.jar (use a different JAR file if the Forms Server is not deployed
  * on JBoss)
  * 6. activation.jar (required for SOAP mode)
  * 7. axis.jar (required for SOAP mode)
  * 8. commons-codec-1.3.jar (required for SOAP mode)
  * 9. commons-collections-3.1.jar (required for SOAP mode)
  * 10. commons-discovery.jar (required for SOAP mode)
  * 11. commons-logging.jar (required for SOAP mode)
  * 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
  * 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
  * 14. jaxrpc.jar (required for SOAP mode)
  * 15. log4j.jar (required for SOAP mode)
  * 16. mail.jar (required for SOAP mode)
  * 17. saaj.jar (required for SOAP mode)
  * 18. wsdl4j.jar (required for SOAP mode)
  * 19. xalan.jar (required for SOAP mode)
  * 20. xbean.jar (required for SOAP mode)
  * 21. xercesImpl.jar (required for SOAP mode)
  *
  * These JAR files are in the following path:
  * <install directory>/sdk/client-libs/common
  *
  * The adobe-utilities.jar file is in the following path:
  * <install directory>/sdk/client-libs/jboss
  *
  * The jboss-client.jar file is in the following path:
  * <install directory>/jboss/bin/client
  *
  * SOAP required JAR files are in the following path:
  * <install directory>/sdk/client-libs/thirdparty
  *
  * If you want to invoke a remote Forms Server instance and there is a
  * firewall between the client application and the server, then it is
  * recommended that you use the SOAP mode. When using the SOAP mode,
  * you have to include these additional JAR files
  *
  * For information about the SOAP
  * mode, see "Setting connection properties" in Programming
  * with AEM Forms
  */
 import java.io.FileInputStream;
 import java.util.Properties;
 import com.adobe.idp.Document;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
 import com.adobe.livecycle.encryption.client.*;
 public class GetEncryptionTypeSOAP {
  public static void main(String[] args) {
  try{
  //Set connection properties required to invoke AEM Forms using SOAP mode
  Properties connectionProps = new Properties();
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
  connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
  //Create a ServiceClientFactory object
  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
  //Create a EncryptionServiceClient object
  EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
  //Get the PDF document
  FileInputStream fileInputStream = new FileInputStream("C:\\51ºÚÁϲ»´òìÈ\EncryptLoan.pdf");
  Document inDoc = new Document (fileInputStream);
  //Determine the type of encryption of the PDF document
  EncryptionTypeResult encryptTypeResult = encryptClient.getPDFEncryption(inDoc);
  if (encryptTypeResult.getEncryptionType() == EncryptionType.PASSWORD)
  System.out.println("The PDF document is protected with password-based encryption");
  else if (encryptTypeResult.getEncryptionType() == EncryptionType.POLICY_SERVER)
  System.out.println("The PDF document is protected with policy");
  else if (encryptTypeResult.getEncryptionType() == EncryptionType.CERTIFICATE)
  System.out.println("The PDF document is protected with certificate-based encryption");
  else if (encryptTypeResult.getEncryptionType() == EncryptionType.OTHER)
  System.out.println("The PDF document is protected with another type of encryption");
  else if (encryptTypeResult.getEncryptionType() == EncryptionType.NONE)
  System.out.println("The PDF document is not protected.");
  }catch (Exception e) {
  e.printStackTrace();
  }
  }
 }