Stitching XDP tramite il servizio Assembler

Questo articolo fornisce le risorse per dimostrare la capacità di unire i documenti XDP utilizzando il servizio Assembler.
Il seguente codice jsp è stato scritto per inserire un sottomodulo denominato address da un documento xdp denominato address.xdp in un punto di inserimento denominato address nel documento master.xdp. L’XDP risultante è stato salvato nella cartella principale dell’installazione AEM.

Il servizio Assembler si basa su documenti DDX validi per descrivere la manipolazione dei documenti PDF. È possibile fare riferimento al documento di riferimento DDX qui.La pagina 40 contiene informazioni sull'unione 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"));

Il file DDX per inserire frammenti in un altro xdp è elencato di seguito. Il DDX inserisce il sottomodulo address da address.xdp nel punto di inserimento denominato address nel master.xdp. Il documento risultante denominato stitched.xdp è stato salvato nel file system.

<?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>

Per utilizzare questa funzionalità sul server AEM

Dopo aver installato il pacchetto, sarà necessario inserire nell'elenco Consentiti i seguenti URL in Adobe Granite CSRF Filter.

  1. Segui i passaggi indicati di seguito per inserire nell'elenco Consentiti i percorsi menzionati in precedenza.
  2. Accesso a configMgr
  3. Cerca Adobe di filtro CSRF Granite
  4. Aggiungi il seguente percorso nelle sezioni escluse e salva /content/AemFormsSamples/assemblerservice
  5. Cerca "Sling Referrer filter" (Filtro referrer Sling)
  6. Selezionare la casella di controllo Consenti vuoto. (questa impostazione deve essere utilizzata solo a scopo di test)
    Esistono diversi modi per testare il codice di esempio. Il metodo più rapido e semplice consiste nell’utilizzare l’app Postman. Postman consente di effettuare richieste POST al server. Installa l’app Postman sul sistema.
    Avvia l’app e immetti il seguente URL per testare l’API di esportazione dei dati
    http://localhost:4502/content/AemFormsSamples/assemblerservice.html

Fornire i seguenti parametri di input come specificato nella schermata. Puoi utilizzare i documenti di esempio scaricati in precedenza,
xdp-stitch-postman

NOTE
Assicurati che l’installazione di AEM Forms sia stata completata. Tutti i bundle devono essere in stato attivo.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e