API를 사용하여 AEM Forms에서 기록 문서 생성 using-api-to-generate-document-of-record-with-aem-forms

프로그래밍 방식으로 DOR(Document Of Record) 생성

이 문서에서는 com.adobe.aemds.guide.addon.dor.DoRService API을(를) 사용하여 프로그래밍 방식으로 기록 문서 ​를 생성하는 방법을 보여 줍니다. 기록 문서은(는) 적응형 양식으로 캡처된 데이터의 PDF 버전입니다.

  1. 다음은 코드 조각입니다. 첫 번째 라인은 DOR 서비스를 받습니다.
  2. DoROptions를 설정합니다.
  3. 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();

로컬 시스템에서 시도하려면 다음 단계를 따르십시오

  1. 패키지 관리자를 사용하여 문서 에셋 다운로드 및 설치
  2. 서비스 사용자 만들기 문서의 일부로 제공된 DevelopingWithServiceUser 번들을 설치하고 시작했는지 확인하십시오
  3. configMgr에 로그인
  4. Apache Sling Service User Mapper 서비스 검색
  5. 서비스 매핑 섹션에서 DevelopingWithServiceUser.core:getformsresourceresolver=fd-service 항목을 확인하십시오
  6. 양식 열기
  7. 양식을 작성하고 ' PDF 보기 ' 를 클릭합니다.
  8. 브라우저의 새 탭에 DOR이 표시됩니다

문제 해결 팁

PDF이 새 브라우저 탭에 표시되지 않음:

  1. 브라우저에서 팝업을 차단하지 않도록 하십시오
  2. AEM 서버를 관리자(적어도 Windows에서)로 시작하는지 확인하십시오.
  3. 'DevelopingWithServiceUser' 번들이 활성 상태 ​에 있는지 확인하십시오.
  4. 시스템 사용자 ' fd-service'에게 다음 노드 /content/usergenerated/content/aemformsenablement에 대한 읽기, 수정 및 만들기 권한이 있는지 확인하십시오.
recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e