在AEM Forms中使用API生成记录文档
最近更新: 2025年5月5日
- 适用对象:
- Experience Manager 6.4
- Experience Manager 6.5
- 主题:
- 自适应表单
创建对象:
- 有经验的
- 开发人员
以编程方式生成记录文档(DOR)
本文说明如何使用com.adobe.aemds.guide.addon.dor.DoRService API
以编程方式生成 记录文档。 记录文档是在自适应表单中捕获的数据的PDF版本。
- 以下是代码片段。 第一行获得DOR服务。
- 设置DoROptions。
- 调用DoRService的渲染方法,并将DoROptions对象传递给渲染方法
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();
要在本地系统上尝试此操作,请执行以下步骤
- 使用包管理器下载并安装文章资源
- 确保已安装并启动作为创建服务用户文章的一部分提供的DevelopingWithServiceUser捆绑包
- 登录到configMgr
- 搜索Apache Sling服务用户映射器服务
- 在“服务映射”部分确保以下条目 DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
- 打开表单
- 填写表单,然后单击“查看PDF ”
- 您应该会在浏览器的新选项卡中看到DOR
疑难解答提示
PDF不会显示在新的浏览器选项卡中:
- 确保没有阻止浏览器中的弹出窗口
- 确保以管理员身份启动AEM服务器(至少在windows上)
- 确保“DevelopingWithServiceUser”包处于 活动状态
- 确保系统用户“ fd-service”在以下节点
/content/usergenerated/content/aemformsenablement
上具有“读取”、“修改”和“创建”权限
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e