AEM Forms에서 Forms 서비스를 사용하여 대화형 PDF 렌더링

AEM Forms에서 Forms Service API를 사용하여 대화형 PDF 렌더링

이 문서에서 다음 서비스를 살펴보겠습니다

  • FormsService - 이 서비스는 다양한 기능을 제공하므로 xml 데이터를 xdp 템플릿에 병합하여 PDF 파일에서 가져오거나 내보낼 수 있고 대화형 pdf를 생성할 수도 있습니다

공식 AEM Forms API용 javadoc는 여기에 나열되어 있습니다.

다음 코드 조각은 FormsService의 renderPDFForm 작업을 사용하여 대화형 pdf를 렌더링합니다. schengen.xdp는 xml 데이터를 병합하는 데 사용되는 템플릿입니다.

String uri = "crx:///content/dam/formsanddocuments";
PDFFormRenderOptions renderOptions = new PDFFormRenderOptions();
renderOptions.setAcrobatVersion(AcrobatVersion.Acrobat_11);
renderOptions.setContentRoot(uri);
Document interactivePDF = null;
try {
interactivePDF = formsService.renderPDFForm("schengen.xdp", xmlData, renderOptions);
} catch (FormsServiceException e) {
 e.printStackTrace();
}
return interactivePDF;

1행: xdp 템플릿이 들어 있는 폴더의 위치

Line2-4: PDFFormRenderOptions를 만들고 해당 속성을 설정합니다

7행: FormsService의 renderPDFForm 서비스 작업을 사용하여 대화형 PDF 생성

11호선: 생성된 대화형 pdf를 호출 애플리케이션에 반환합니다

시스템에서 샘플 패키지를 테스트하려면

  1. DevelopingWithServiceUserBundle 다운로드 및 설치

  2. Felix 웹 콘솔을 사용하여 DocumentServices 샘플 번들을 다운로드하여 설치합니다

  3. AEM 패키지 관리자를 사용하여 패키지를 다운로드하여 설치합니다

  4. configMgr에 로그인

  5. Granite CSRF 필터 Adobe 검색

  6. 제외된 섹션에 다음 경로를 추가하고 저장합니다

  7. /bin/generateinteractivepdf

  8. 검색 대상 Apache Sling Service User Mapper Service 를 클릭하여 속성을 엽니다

    1. 을(를) 클릭합니다. + 아이콘(더하기)을 클릭하여 다음 서비스 매핑을 추가합니다.
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. ' Save ' 를 클릭합니다.
  9. 모바일 양식을 엽니다

  10. 두 개의 필드를 채운 다음 다운로드 및 채우기… 단추

  11. 대화형 pdf는 로컬 시스템에 다운로드해야 합니다

샘플 패키지에는 모바일 양식과 연결된 사용자 지정 프로필이 들어 있습니다. 다음 문서를 살펴보십시오 customtoolbar.jsp 파일. 이 jsp는 모바일 양식에서 데이터를 추출하고 서블릿에 대한 POST 요청을 수행합니다 /bin/generateinteractivepdf 경로. 서블릿은 호출 애플리케이션에 대화형 pdf를 반환합니다. customtoolbar.jsp의 코드는 파일을 로컬 시스템에 다운로드합니다

이 페이지에서는