PDF公用程式服務Java API快速入門(SOAP)

PDF公用程式服務提供下列快速入門。

快速入門(SOAP模式):使用Java API將PDF檔案轉換為XDP檔案

快速入門(SOAP模式):使用Java API將XDP檔案轉換為PDF檔案

快速入門(SOAP模式):使用Java API擷取PDF檔案屬性

快速入門(SOAP模式):使用Java API設定PDF檔案的儲存樣式

快速入門(SOAP模式):淨化PDF檔案

AEM Forms操作可以使用AEM Forms強類型API執行,連接模式應設定為SOAP。

注意

「使用表單進行寫程式」中的「快AEM速入門」基於Forms伺服器作業系統。 但是,如果您使用其他作業系統(例如UNIX),請以適用作業系統支援的路徑取代Windows特定路徑。 同樣地,如果您使用其他J2EE應用程式伺服器,請確定您指定有效的連線屬性。 請參閱設定連接屬性

快速入門(SOAP模式):使用Java API將PDF檔案轉換為XDP檔案

以下代碼示例將PDF文檔轉換為XDP文檔。 (請參閱將PDF檔案轉換為XDP檔案

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
    * 7. commons-collections-3.2.jar  (required for SOAP mode) 
    * 8. commons-discovery.jar (required for SOAP mode) 
    * 9. commons-logging.jar (required for SOAP mode) 
    * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
    * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
    * 12. jaxrpc.jar (required for SOAP mode) 
    * 13. log4j.jar (required for SOAP mode) 
    * 14. mail.jar (required for SOAP mode) 
    * 15. saaj.jar (required for SOAP mode) 
    * 16. wsdl4j.jar (required for SOAP mode) 
    * 17. xalan.jar (required for SOAP mode) 
    * 18. xbean.jar (required for SOAP mode) 
    * 19. 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 java.util.*; 
 import com.adobe.livecycle.pdfutility.client.*; 
 import java.io.*; 
 import com.adobe.idp.Document; 
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactory; 
 import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties; 
  
 public class ConvertPDFToXDP 
 { 
     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 a PDF Utility client 
             PDFUtilityServiceClient pdfUt = new PDFUtilityServiceClient(myFactory); 
  
             // Specify a PDF document to convert to an XDP file 
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.pdf"); 
             Document inDoc = new Document(fileInputStream); 
  
             // Convert the PDF document to an XDP file 
             Document myXDP = pdfUt.convertPDFtoXDP(inDoc); 
  
             //Save the returned Document object as an XDP file 
             File xdpFile = new File("C:\\Adobe\Loan.xdp"); 
             myXDP.copyToFile(xdpFile); 
         } 
         catch (Exception e) 
         { 
             e.printStackTrace(); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API將XDP檔案轉換為PDF檔案

以下代碼示例將XDP文檔轉換為PDF文檔。 (請參閱將XDP檔案轉換為PDF檔案。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
    * 7. commons-collections-3.2.jar  (required for SOAP mode) 
    * 8. commons-discovery.jar (required for SOAP mode) 
    * 9. commons-logging.jar (required for SOAP mode) 
    * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
    * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
    * 12. jaxrpc.jar (required for SOAP mode) 
    * 13. log4j.jar (required for SOAP mode) 
    * 14. mail.jar (required for SOAP mode) 
    * 15. saaj.jar (required for SOAP mode) 
    * 16. wsdl4j.jar (required for SOAP mode) 
    * 17. xalan.jar (required for SOAP mode) 
    * 18. xbean.jar (required for SOAP mode) 
    * 19. 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.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 ConvertXDPToPDF 
 { 
     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 a PDF Utility client 
             PDFUtilityServiceClient pdfUt = new PDFUtilityServiceClient(myFactory); 
  
             // Specify an XDP file to convert to a PDF document 
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.xdp"); 
             Document inDoc = new Document(fileInputStream); 
  
             // Convert the XDP file to a PDF document 
             Document myPDF = pdfUt.convertXDPtoPDF(inDoc); 
  
             //Save the returned Document object as a PDF file 
             File pdfFile = new File("C:\\Adobe\Loan.pdf"); 
             myPDF.copyToFile(pdfFile); 
         } 
         catch (Exception e) 
         { 
             e.printStackTrace(); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API擷取PDF檔案屬性

下列程式碼範例會判斷檔案是否為PDF檔案,如果是,則可讀取的最早Acrobat版本。 (請參閱擷取PDF檔案屬性。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. 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.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 RetrievePDFProperties 
 { 
     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 a PDF Utility client 
             PDFUtilityServiceClient pdfUt = new PDFUtilityServiceClient(myFactory); 
  
             // Specify a document whose properties are retrieved 
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.pdf"); 
             Document inDoc = new Document(fileInputStream); 
  
             // Create a properties options specification 
             PDFPropertiesOptionSpec optionsSpec = new PDFPropertiesOptionSpec(); 
  
             // Set the properties to be evaluated in the options specification. 
             // In this example, the options specification will be used to determine 
             // if the document is a PDF document, and if so,  
             // which Acrobat version is required to read it. 
             optionsSpec.setIsPDFDocument(true); 
             optionsSpec.setQueryRequiredAcrobatVersion(true); 
  
             // Perform the query and retrieve the document properties 
             PDFPropertiesResult propertiesResult = pdfUt.getPDFProperties(inDoc, optionsSpec); 
  
             // Inspect the result and determine whether the file is a PDF document 
             if (propertiesResult.getIsPDFDocument().booleanValue()) 
             { 
                 System.out.println("Loan.pdf has been verified to be a PDF document."); 
  
                 // Determine the required Acrobat version for reading the document 
                 String acrobatVersion = propertiesResult.getRequiredAcrobatVersion(); 
                 System.out.println("The required Acrobat version is: " + acrobatVersion); 
             } 
         } 
         catch (Exception e) 
         { 
             System.out.println("Error occurred: " + e.getMessage()); 
         } 
     } 
 } 
  
 

快速入門(SOAP模式):使用Java API設定PDF檔案的儲存樣式

下列程式碼範例會設定儲存模式,以快速檢視網頁,然後將PDF檔案傳送至加密服務,並加密檔案。 為快速進行網頁檢視而儲存的加密PDF檔案會儲存為名為* FastWebViewLoan.pdf*的PDF檔案。 (請參閱設定PDF檔案儲存模式)。

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. 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, "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 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()); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API將檔案轉換為PDF/A-2b檔案

以下Java代碼示例將名為​Loan.pdf​的PDF文檔轉換為PDF/A-2b文檔,該文檔另存為名為​LoanArchive.pdf​的PDF檔案。 (請參閱將檔案轉換為PDF/A檔案)。

/* 
 * This Java Quick Start uses the SOAP mode and contains the following JAR files 
 * in the class path: 
 * 1. adobe-docconverter-client.jar 
 * 2. adobe-livecycle-client.jar 
 * 3. adobe-usermanager-client.jar 
 * 
 * These JAR files are located in the following path: 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/common 
 * 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/jboss 
 * 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/jboss/bin/client 
 * 
 * If you want to invoke a remote AEM Forms instance and there is a 
 * firewall between the client application and AEM Forms, 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>/Adobe/Adobe_Experience_Manager_forms/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 library files" in Programming 
 * with AEM Forms 
 */ 
import java.util.*; 
import java.io.File; 
import java.io.FileInputStream; 
import com.adobe.idp.Document; 
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory; 
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties; 
import com.adobe.livecycle.docconverter.client.DocConverterServiceClient; 
import com.adobe.livecycle.docconverter.client.PDFAConversionOptionSpec; 
import com.adobe.livecycle.docconverter.client.PDFAConversionResult; 
import com.adobe.livecycle.docconverter.client.PDFAConversionOptionSpec.Compliance; 
 
public class CreatePDFADocument { 
    
    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 instance 
        ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
        
        //Create a DocConverterServiceClient object 
        DocConverterServiceClient docConverter = new DocConverterServiceClient(myFactory); 
    
        //Reference a PDF document to convert to a PDF/A document 
        FileInputStream myPDF = new FileInputStream("C:\\Adobe\\Loan.pdf"); 
        Document inDoc = new Document(myPDF); 
        
        //Create a PDFAConversionOptionSpec object and set 
        //tracking information 
        PDFAConversionOptionSpec spec = new PDFAConversionOptionSpec(); 
        spec.setLogLevel("FINE"); 
        spec.setCompliance(Compliance.PDFA_2B); 
        
        //Convert the PDF document to a PDF/A document 
        PDFAConversionResult result =  docConverter.toPDFA(inDoc,spec);     
        
        //Save the PDF/A file 
        Document pdfADoc= result.getPDFADocument(); 
        File pdfAFile = new File("C:\\Adobe\\LoanArchive.pdf"); 
        pdfADoc.copyToFile(pdfAFile); 
   }catch (Exception e) { 
        e.printStackTrace(); 
    } 
  } 
}

快速入門(SOAP模式):淨化PDF檔案

以下Java代碼示例清理了名為​Loan.pdf​的PDF文檔。

/* 
 * This Java Quick Start uses the SOAP mode and contains the following JAR files 
 * in the class path: 
 * 1. adobe-docconverter-client.jar 
 * 2. adobe-livecycle-client.jar 
 * 3. adobe-usermanager-client.jar 
 * 
 * These JAR files are located in the following path: 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/common 
 * 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs/jboss 
 * 
 * <install directory>/Adobe/Adobe_Experience_Manager_forms/jboss/bin/client 
 * 
 * If you want to invoke a remote AEM Forms instance and there is a 
 * firewall between the client application and AEM Forms, 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>/Adobe/Adobe_Experience_Manager_forms/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 library files" 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.pdfutility.client.PDFUtilityServiceClient; 
import com.adobe.livecycle.pdfutility.client.SanitizationResult; 
public class Sanitization { 
    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 instance 
            ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
            
          //Create a PDFUtilityServiceClient object 
            PDFUtilityServiceClient pdfutility = new PDFUtilityServiceClient(myFactory); 
            
          //Reference a PDF document to Sanitize 
            FileInputStream myPDF; 
            myPDF = new FileInputStream("C://loan.pdf"); 
            Document inDoc = new Document(myPDF); 
             
            //Sanitize the document. 
            SanitizationResult result = pdfutility.sanitize(inDoc); 
             
            //Save the Sanitized document 
            if(result.isSanitizationSuccessful()){ 
                Document pdfADoc= result.getDocument(); 
                File pdfAFile = new File("C://annotations_sanitized.pdf"); 
                pdfADoc.copyToFile(pdfAFile); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
        
    } 
}

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now