在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