Utilizzo dell’API per generare un documento di record in AEM Forms

Genera documento di record (DOR) a livello di programmazione

Questo articolo illustra l'uso del com.adobe.aemds.guide.addon.dor.DoRService API per generare Documento di registrazione a livello di programmazione. Documento di registrazione è una versione PDF dei dati acquisiti in Moduli adattivi.

  1. Di seguito è riportato lo snippet di codice. La prima riga ottiene il servizio DOR.
  2. Imposta le opzioni DoRO.
  3. Richiamare il metodo di rendering del servizio DoRS e passare l'oggetto DoROptions al metodo di rendering
String dataXml = request.getParameter("data");
System.out.println("Got " + dataXml);
Session session;
com.adobe.aemds.guide.addon.dor.DoRService dorService = sling.getService(com.adobe.aemds.guide.addon.dor.DoRService.class);
System.out.println("Got ... DOR Service");
com.mergeandfuse.getserviceuserresolver.GetResolver aemDemoListings = sling.getService(com.mergeandfuse.getserviceuserresolver.GetResolver.class);
System.out.println("Got aem DemoListings");
resourceResolver = aemDemoListings.getFormsServiceResolver();
session = resourceResolver.adaptTo(Session.class);
resource = resourceResolver.getResource("/content/forms/af/sandbox/1201-borrower-payments");
com.adobe.aemds.guide.addon.dor.DoROptions dorOptions = new com.adobe.aemds.guide.addon.dor.DoROptions();
dorOptions.setData(dataXml);
dorOptions.setFormResource(resource);
java.util.Locale locale = new java.util.Locale("en");
dorOptions.setLocale(locale);
com.adobe.aemds.guide.addon.dor.DoRResult dorResult = dorService.render(dorOptions);
byte[] fileBytes = dorResult.getContent();
com.adobe.aemfd.docmanager.Document dorDocument = new com.adobe.aemfd.docmanager.Document(fileBytes);
resource = resourceResolver.getResource("/content/usergenerated/content/aemformsenablement");
Node paydotgov = resource.adaptTo(Node.class);
java.util.Random r = new java.util.Random();
String nodeName = Long.toString(Math.abs(r.nextLong()), 36);
Node fileNode = paydotgov.addNode(nodeName + ".pdf", "nt:file");

System.out.println("Created file Node...." + fileNode.getPath());
Node contentNode = fileNode.addNode("jcr:content", "nt:resource");
Binary binary = session.getValueFactory().createBinary(dorDocument.getInputStream());
contentNode.setProperty("jcr:data", binary);
JSONWriter writer = new JSONWriter(response.getWriter());
writer.object();
writer.key("filePath");
writer.value(fileNode.getPath());
writer.endObject();
session.save();

Per provare questo sul sistema locale, segui i seguenti passaggi

  1. Scaricare e installare le risorse dell’articolo utilizzando il gestore dei pacchetti
  2. Assicurati di aver installato e avviato il bundle DevelopingWithServiceUser fornito come parte di Articolo utente Crea servizio
  3. Accedi a configMgr
  4. Ricerca del servizio User Mapper di Apache Sling Service
  5. Assicurati di aver inserito la voce seguente DevelopingWithServiceUser.core:getformsresourceresolver=fd-service nella sezione Service Mappings (Mappature dei servizi)
  6. Aprire il modulo
  7. Compila il modulo e fai clic su "Visualizza PDF"
  8. Dovresti visualizzare DOR in una nuova scheda nel tuo browser

Suggerimenti per la risoluzione dei problemi

PDF non viene visualizzato nella nuova scheda del browser:

  1. Assicurati di non bloccare i popup nel browser
  2. Assicurati di avviare AEM server come amministratore (almeno in Windows)
  3. Assicurati che il bundle 'DevelopingWithServiceUser' sia in stato attivo
  4. Assicurati che l'utente del sistema Il servizio fd dispone delle autorizzazioni di lettura, modifica e creazione per il seguente nodo /content/usergenerated/content/aemformsenablement

In questa pagina