XMP 유틸리티 서비스에 다음 빠른 시작을 사용할 수 있습니다.
빠른 시작(SOAP 모드): Java API를 사용하여 XMP 메타데이터 내보내기
빠른 시작(SOAP 모드): Java API를 사용하여 XMP 메타데이터 가져오기
AEM Forms 작업은 AEM Forms 강력한 형식의 API를 사용하여 수행할 수 있으며 연결 모드는 SOAP로 설정해야 합니다.
AEM Forms로 프로그래밍에 있는 빠른 시작은 UNIX와 같은 다른 운영 체제를 사용하는 경우 Forms 서버를 기반으로 하며 Windows 관련 경로를 해당 운영 체제에서 지원하는 경로로 바꿉니다. 마찬가지로, 다른 J2EE 응용 프로그램 서버를 사용하는 경우 올바른 연결 속성을 지정해야 합니다. 자세한 내용은 연결 속성 설정.
다음 코드 예제에서는 XMP 메타데이터를 검색, 검사 및 저장합니다. (자세한 내용은 PDF 문서에서 메타데이터 내보내기)
/*
* This Java Quick Start uses the following JAR files
* 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.xmputility.*;
import com.adobe.livecycle.xmputility.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 ExportMetadata
{
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 factory = ServiceClientFactory.createInstance(connectionProps);
// Create a XMP Utility client
XMPUtilityServiceClient xmpUt = new XMPUtilityServiceClient(factory);
// Specify a PDF document whose metadata is to be exported
FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.pdf");
Document inDoc = new Document(fileInputStream);
// Export the XMP metadata object
XMPUtilityMetadata myXmp = xmpUt.exportMetadata(inDoc);
// Inspect the XMP metadata object (retrieve the document?s author in this case)
String name = myXmp.getAuthor();
System.out.println("The document?s author is " + name);
// Export the XMP metadata to an XML file
Document outDoc = xmpUt.exportXMP(inDoc);
File xmpFile = new File("c:\\LoanMetaData.xml");
outDoc.copyToFile(xmpFile);
}
catch (Exception e)
{
System.out.println("Error occurred: " + e.getMessage());
}
}
}
다음 코드 예제에서는 XMP 메타데이터를 가져와 새 PDF 파일을 디스크에 저장합니다. PDF 문서는 Loan.pdf라는 PDF 파일을 기반으로 합니다. PDF 문서로 가져올 메타데이터가 포함된 XML 문서는 이름이 인 XML 파일을 기반으로 합니다 LoanMetaData.xml. 이 XML 파일에 대한 자세한 내용은 PDF 문서로 메타데이터 가져오기.
/*
* This Java Quick Start uses the following JAR files
* 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.xmputility.*;
import com.adobe.livecycle.xmputility.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 ImportMetadata
{
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 factory = ServiceClientFactory.createInstance(connectionProps);
//Create a XMP Utility client
XMPUtilityServiceClient xmpUt = new XMPUtilityServiceClient(factory);
//Specify a PDF document into which XMP metadata is imported
FileInputStream filePDF = new FileInputStream("C:\\Adobe\Loan.pdf");
Document inDoc = new Document(filePDF);
//Specify an XML file containing XMP metadata to import
FileInputStream fileXML = new FileInputStream("C:\\Adobe\LoanMetaData.xml");
Document xmpDoc = new Document(fileXML );
//Import the XMP metadata
Document outDoc = xmpUt.importXMP(inDoc, xmpDoc);
//Inspect the XMP metadata object (retrieve the document?s author in this case)
XMPUtilityMetadata myXmp = xmpUt.exportMetadata(outDoc);
String name = myXmp.getAuthor();
System.out.println("The document?s author is " + name);
//Save the PDF document containing the new metadata
File pdfFile = new File("c:\\Adobe\LoanWithMetadata.pdf");
outDoc.copyToFile(pdfFile);
}
catch (Exception e)
{
System.out.println("Error occurred: " + e.getMessage());
}
}
}