Zuordnen von XDP-Dokumenten mit dem Assembler-Dienst

In diesem Artikel finden Sie die Assets, um auszuprobieren, wie XDP-Dokumente mithilfe des Assembler-Dienstes zugeordnet werden können.
Der folgende JSP-Code wurde geschrieben, um das Teilformular address aus dem XDP-Dokument „address.xdp“ in den Einfügepunkt address im Dokument „master.xdp“ einzufügen. Die resultierende XDP-Datei wurde im Stammordner Ihrer AEM-Installation gespeichert.

Der Assembler-Dienst ist auf gültige DDX-Dokumente angewiesen, um die Änderung von PDF-Dokumenten zu beschreiben. Weitere Informationen finden Sie im DDX-Referenzdokument. Seite 40 enthält Informationen zum Zuordnen von XDP-Dokumenten.

    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"));

Die DDX-Datei zum Einfügen von Fragmenten in eine andere XDP-Datei ist unten aufgeführt. Die DDX fügt das Teilformular address aus „address.xdp“ in den Einfügepunkt address in der Datei „master.xdp“ ein. Das resultierende Dokument namens stitched.xdp wird im Dateisystem gespeichert.

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

Sie können diese Funktion wie folgt auf Ihrem AEM-Server verwenden:

Nachdem Sie das Paket installiert haben, müssen Sie die folgenden URLs unter „Adobe Granite CSRF Filter“ auf die Zulassungsliste setzen.

  1. Führen Sie die folgenden Schritte aus, um die oben genannten Pfade auf die Zulassungsliste zu setzen.
  2. Melden Sie sich bei configMgr an.
  3. Suchen Sie nach „Adobe Granite CSRF Filter“.
  4. Fügen Sie den folgenden Pfad in den ausgeschlossenen Abschnitten hinzu und speichern Sie /content/AemFormsSamples/assemblerservice.
  5. Suchen Sie nach „Sling Referrer filter“.
  6. Aktivieren Sie das Kontrollkästchen „Leere zulassen“. (Diese Einstellung sollte nur zu Testzwecken verwendet werden.)
    Es gibt verschiedene Möglichkeiten, den Beispiel-Code zu testen. Am schnellsten und einfachsten lässt sich hier die Postman-App verwenden. Mit Postman können Sie POST-Anfragen an Ihren Server richten. Installieren Sie die Postman-App auf Ihrem System.
    Starten Sie die App und geben Sie die folgende URL ein, um die Export-Daten-API zu testen:
    http://localhost:4502/content/AemFormsSamples/assemblerservice.html.

Geben Sie die folgenden Eingabeparameter an, wie im Screenshot zu sehen. Sie können die zuvor heruntergeladenen Beispieldokumente verwenden.
Postman – Zusammenfügen von XDP-Dateien

NOTE
Stellen Sie sicher, dass Sie Ihre AEM Forms-Installation abgeschlossen haben. Alle Bundles müssen sich in einem aktiven Status befinden.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e