이 문서에서는 어셈블러 서비스를 사용하여 xdp 문서를 결합하는 기능을 보여 주는 자산을 제공합니다.
다음 jsp 코드가 주소 xdp 문서에서 address.xdp라는 삽입 포인터가 주소 master.xdp 문서에서 참조할 수 있습니다. 결과 xdp가 AEM 설치의 루트 폴더에 저장되었습니다.
어셈블러 서비스는 PDF 문서의 조작을 설명하기 위해 유효한 DDX 문서를 사용합니다. 을 참조할 수 있습니다. DDX 참조 문서 여기.Page 40에는 xdp 결합에 대한 정보가 있습니다.
javax.servlet.http.Part ddxFile = request.getPart("xdpstitching.ddx");
System.out.println("Got DDX");
java.io.InputStream ddxIS = ddxFile.getInputStream();
com.adobe.aemfd.docmanager.Document ddxDocument = new com.adobe.aemfd.docmanager.Document(ddxIS);
javax.servlet.http.Part masterXdpPart = request.getPart("masterxdp.xdp");
System.out.println("Got master xdp");
java.io.InputStream masterXdpPartIS = masterXdpPart.getInputStream();
com.adobe.aemfd.docmanager.Document masterXdpDocument = new com.adobe.aemfd.docmanager.Document(masterXdpPartIS);
javax.servlet.http.Part fragmentXDPPart = request.getPart("fragment.xdp");
System.out.println("Got fragment.xdp");
java.io.InputStream fragmentXDPPartIS = fragmentXDPPart.getInputStream();
com.adobe.aemfd.docmanager.Document fragmentXdpDocument = new com.adobe.aemfd.docmanager.Document(fragmentXDPPartIS);
java.util.Map < String, Object > mapOfDocuments = new java.util.HashMap < String, Object > ();
mapOfDocuments.put("master.xdp", masterXdpDocument);
mapOfDocuments.put("address.xdp", fragmentXdpDocument);
com.adobe.fd.assembler.service.AssemblerService assemblerService = sling.getService(com.adobe.fd.assembler.service.AssemblerService.class);
if (assemblerService != null)
System.out.println("Got assembler service");
com.adobe.fd.assembler.client.AssemblerOptionSpec aoSpec = new com.adobe.fd.assembler.client.AssemblerOptionSpec();
aoSpec.setFailOnError(true);
com.adobe.fd.assembler.client.AssemblerResult assemblerResult = assemblerService.invoke(ddxDocument, mapOfDocuments, aoSpec);
com.adobe.aemfd.docmanager.Document finalXDP = assemblerResult.getDocuments().get("stitched.xdp");
finalXDP.copyToFile(new java.io.File("stitched.xdp"));
다른 xdp에 조각을 삽입할 DDX 파일은 아래에 나와 있습니다. DDX는 하위 폼을 삽입합니다 주소 address.xdp에서 호출된 삽입 지점으로 주소 at.xdp. 이름이 지정된 결과 문서 stitched.xdp 가 파일 시스템에 저장됩니다.
<?xml version="1.0" encoding="UTF-8"?>
<DDX xmlns="http://ns.adobe.com/DDX/1.0/">
<XDP result="stitched.xdp">
<XDP source="master.xdp">
<XDPContent insertionPoint="address" source="address.xdp" fragment="address"/>
</XDP>
</XDP>
</DDX>
AEM 서버에서 이 기능을 사용하려면
패키지를 설치한 후에는 Granite CSRF 필터허용 목록에 추가하다에 다음 URL을 배치해야 합니다.
/content/AemFormsSamples/assemblerservice
스크린샷에 지정된 대로 다음 입력 매개 변수를 제공합니다. 이전에 다운로드한 샘플 문서를 사용할 수 있습니다.
AEM Forms 설치가 완료되었는지 확인합니다. 모든 번들은 활성 상태여야 합니다.