Utilizzo dell’API per generare un documento di record in AEM Forms using-api-to-generate-document-of-record-with-aem-forms

Genera documento di record (DOR) a livello di programmazione

Questo articolo illustra l'utilizzo di com.adobe.aemds.guide.addon.dor.DoRService API da generare Documento record a livello di programmazione. Documento record è una versione PDF dei dati acquisiti in Adaptive Form.

  1. Di seguito è riportato lo snippet di codice. La prima riga ottiene il servizio DOR.
  2. Impostare le opzioni DoRO.
  3. Richiama il metodo di rendering del servizio DoRS e passa 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 questa operazione sul sistema locale, attenersi alla seguente procedura

  1. Scaricare e installare le risorse dell’articolo tramite Gestione pacchetti
  2. Assicurati di aver installato e avviato il bundle DevelopingWithServiceUser fornito come parte di Articolo sulla creazione di un utente del servizio
  3. Accedi a configMgr
  4. Cerca servizio User Mapper del servizio Apache Sling
  5. Assicurati di inserire la voce seguente DevelopingWithServiceUser.core:getformsresourceresolver=fd-service nella sezione Mappature servizio
  6. Apri il modulo
  7. Compila il modulo e fai clic su "Visualizza PDF"
  8. Dovresti visualizzare DOR in una nuova scheda nel 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. Assicurarsi di avviare il server AEM come amministratore (almeno in Windows)
  3. Assicurati che il bundle "DevelopingWithServiceUser" sia in stato attivo
  4. Assicurarsi che l'utente del sistema ' fd-service' dispone delle autorizzazioni di lettura, modifica e creazione per il nodo seguente /content/usergenerated/content/aemformsenablement
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e