The following code example sets the save mode for fast
web viewing and then passes the PDF document to the Encryption service
where it is encrypted. The encrypted PDF document that is saved
for fast web viewing is saved as a PDF file named
FastWebViewLoan.pdf
.
(See Setting
PDF Document Save Modes.)
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-pdfutility-client.jar
* 2. adobe-livecycle-client.jar
* 3. adobe-usermanager-client.jar
* 4. activation.jar (required for SOAP mode)
* 5. axis.jar (required for SOAP mode)
* 6. axis.jar (required for SOAP mode)
* 7. commons-codec-1.3.jar (required for SOAP mode)
* 8. commons-collections-3.2.jar (required for SOAP mode)
* 9. commons-discovery.jar (required for SOAP mode)
* 10. commons-logging.jar (required for SOAP mode)
* 11. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 12. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 13. jaxrpc.jar (required for SOAP mode)
* 14. log4j.jar (required for SOAP mode)
* 15. mail.jar (required for SOAP mode)
* 16. saaj.jar (required for SOAP mode)
* 17. wsdl4j.jar (required for SOAP mode)
* 18. xalan.jar (required for SOAP mode)
* 19. xbean.jar (required for SOAP mode)
* 20. xercesImpl.jar (required for SOAP mode)
*
* The JBoss files must be kept in the jboss\client folder. You can copy the client folder to
* your local development environment and then include the 3 JBoss JAR files in your class path
*
* These JAR files are located in the following path:
* <install directory>/sdk/client-libs/common
*
*
* <install directory>/jboss/bin/client
*
* 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 additional JAR files located in the following
* path
* <install directory>/sdk/client-libs/thirdparty
*
* For information about the SOAP
* mode and the additional JAR files that need to be included,
* see "Setting connection properties" in Programming
* with AEM Forms
*
* For complete details about the location of the AEM Forms JAR files,
* see "Including AEM Forms Java library files" in Programming
* with AEM Forms
*/
import com.adobe.livecycle.encryption.client.EncryptionServiceClient;
import com.adobe.livecycle.encryption.client.PasswordEncryptionCompatability;
import com.adobe.livecycle.encryption.client.PasswordEncryptionOption;
import com.adobe.livecycle.encryption.client.PasswordEncryptionOptionSpec;
import com.adobe.livecycle.encryption.client.PasswordEncryptionPermission;
import com.adobe.livecycle.pdfutility.client.*;
import java.util.*;
import java.io.*;
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
public class SaveDocument
{
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, "jnp://[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 PDF Utility client
PDFUtilityServiceClient pdfUt = new PDFUtilityServiceClient(myFactory);
// Specify a document to be saved
FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.pdf");
Document inDoc = new Document(fileInputStream);
// Specify the save option
PDFUtilitySaveMode saveMode = new PDFUtilitySaveMode();
saveMode.setSaveStyle("FAST_WEB_VIEW");
Document outFastWebView = pdfUt.setSaveMode(inDoc, saveMode, true);
//Pass the document that is saved as 'Fast
//Web View' to the Encryption service
EncryptionServiceClient encryptClient = new EncryptionServiceClient(myFactory);
//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
List encrypPermissions = new ArrayList();
encrypPermissions.add(PasswordEncryptionPermission.PASSWORD_EDIT_EXTRACT);
encrypPermissions.add(PasswordEncryptionPermission.PASSWORD_EDIT_FORM_FILL);
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 encrypted document that is saved as FAST_WEB_VIEW
//as a PDF file named FastWebViewLoan.pdf
File pdfFile = new File("C:\\Adobe\FastWebViewLoan.pdf");
encryptDoc.copyToFile(pdfFile);
// Inspect the document?s save option
PDFUtilitySaveMode verifySaveMode = pdfUt.getSaveMode(outFastWebView);
String verifySaveStyle = verifySaveMode.getSaveStyle();
System.out.println("The save mode is " + verifySaveStyle);
}
catch (Exception e)
{
System.out.println("Error occurred: " + e.getMessage());
}
}
}
|
|
|