Configuración XDP mediante el servicio de ensamblador

Este artículo proporciona los recursos para mostrar la capacidad de unir documentos xdp mediante el servicio Assembler.
El siguiente código jsp se escribió para insertar un subformulario llamado dirección desde un documento xdp llamado address.xdp hasta un punto de inserción llamado dirección en el documento master.xdp. AEM El xdp resultante se guardó en la carpeta raíz de la instalación de la.

El servicio Assembler se basa en documentos DDX válidos para describir la manipulación de documentos de PDF. Puede consultar el Documento de referencia DDX aquí.La página 40 contiene información sobre la vinculación 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"));

A continuación, se muestra el archivo DDX para insertar fragmentos en otro xdp. El DDX inserta el subformulario dirección desde address.xdp hasta el punto de inserción llamado dirección en master.xdp. El documento resultante denominado stitched.xdp se guarda en el sistema de archivos.

<?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 Para que esta capacidad funcione en el servidor de la

Después de instalar el paquete tendrá que lista de permitidos las siguientes URL en Adobe Granite CSRF Filter.

  1. Siga los pasos que se mencionan a continuación para lista de permitidos las rutas mencionadas anteriormente.
  2. Inicie sesión en configMgr
  3. Búsqueda de Adobe Granite CSRF Filter
  4. Añada la siguiente ruta en las secciones excluidas y guarde /content/AemFormsSamples/assemblerservice
  5. Busque "Filtro de referente de Sling"
  6. Marque la casilla "Permitir vacío". (Esta configuración solo debe ser para fines de prueba) Existen varias formas de probar el código de muestra. La forma más rápida y sencilla de usar una aplicación de Postman es. Postman le permite realizar solicitudes de POST al servidor. Instale la aplicación de Postman en su sistema.
    Inicie la aplicación e introduzca la siguiente URL para probar la API de exportación de datos http://localhost:4502/content/AemFormsSamples/assemblerservice.html

Proporcione los siguientes parámetros de entrada según se especifican en la captura de pantalla. Puede utilizar los documentos de ejemplo que descargó anteriormente,
xdp-stitch-postman

NOTE
Asegúrese de que la instalación de AEM Forms haya finalizado. Todos los paquetes deben estar en estado activo.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e