Usar la API para generar el documento de registro en AEM Forms using-api-to-generate-document-of-record-with-aem-forms

Generar documento de registro (DOR) mediante programación

Este artículo ilustra el uso de com.adobe.aemds.guide.addon.dor.DoRService API para generar documento de registro mediante programación. Documento de registro es una versión PDF de los datos capturados en el formulario adaptable.

  1. A continuación se muestra el fragmento de código. La primera línea obtiene el servicio DOR.
  2. Establezca DoROptions.
  3. Invoque el método de procesamiento del DoRService y pase el objeto DoROptions al método de procesamiento
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();

Para probar esto en su sistema local, siga los siguientes pasos

  1. Descargar e instalar los recursos del artículo mediante el administrador de paquetes
  2. Asegúrese de que ha instalado e iniciado el paquete DevelopersWithServiceUser proporcionado como parte de Crear usuario de servicio
  3. Iniciar sesión en configMgr
  4. Buscar el servicio de asignador de usuarios del servicio Apache Sling
  5. Asegúrese de incluir la siguiente entrada DesarrollarConServiceUser.core:getformsresourceresolver=fd-service en la sección Asignaciones de servicios
  6. Abrir el formulario
  7. Rellene el formulario y haga clic en "Ver PDF"
  8. Debe ver el documento de registro en la nueva pestaña del explorador

Sugerencias para solucionar problemas

El PDF no se muestra en la nueva pestaña del explorador:

  1. Asegúrese de que no está bloqueando las ventanas emergentes del explorador
  2. AEM Asegúrese de que está iniciando el servidor como administrador (al menos en Windows).
  3. Asegúrese de que el paquete "DesarrollandoConUsuarioServicio" esté en estado activo
  4. Asegúrese de que el usuario del sistema' fd-service' tiene permisos de lectura, modificación y creación en el siguiente nodo /content/usergenerated/content/aemformsenablement
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e