API gebruiken om een document met records te genereren in AEM Forms using-api-to-generate-document-of-record-with-aem-forms

Document met opnamen (DOR) programmatisch genereren

Dit artikel illustreert het gebruik van com.adobe.aemds.guide.addon.dor.DoRService API om Document van Verslag programmatically te produceren. ​ Document van Verslag ​ is een versie van PDF van de gegevens die in AanpassingsVorm worden gevangen.

  1. Hier volgt het codefragment. De eerste regel krijgt de DOR-service.
  2. Stel de DoROptions in.
  3. Roep de teruggevende methode van DoRService aan en ga het voorwerp DoROptions tot de teruggevende methode over
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();

Voer de volgende stappen uit om dit op uw lokale systeem te proberen

  1. Artikelelementen downloaden en installeren met pakketbeheer
  2. Zorg ervoor u geïnstalleerd en begonnen de bundel DevelopingWithServiceUser als deel van ​ wordt verstrekt creeer het artikel van de Gebruiker van de Dienst ​
  3. ​ Login aan configMgr ​
  4. Zoeken naar Apache Sling Service User Mapper Service
  5. Zorg ervoor u de volgende ingang DevelopingWithServiceUser.core:getformsresourceresolver=fd-dienst in de sectie van de Toewijzingen van de Dienst
  6. ​ open de vorm ​
  7. Vul het formulier in en klik op ' View PDF '
  8. U moet DOR zien op een nieuw tabblad in uw browser

Tips van het Oplossen van problemen

PDF wordt niet weergegeven op het tabblad Nieuwe browser:

  1. Let erop dat u pop-ups in uw browser niet blokkeert
  2. Zorg ervoor dat u de AEM-server als beheerder start (tenminste in vensters)
  3. Zorg ervoor de "DevelopingWithServiceUser"bundel in actieve staat is
  4. ​ zorg ervoor de systeemgebruiker ​ " fd-dienst"gelezen heeft, wijzigt, en leidt toestemmingen op de volgende knoop /content/usergenerated/content/aemformsenablement
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e