AEM Forms에서 Forms Services를 사용하여 대화형 PDF 렌더링
AEM Forms에서 Forms 서비스 API를 사용하여 대화형 PDF 렌더링
이 문서에서는 다음 서비스를 살펴보겠습니다
- FormsService - 다양한 용도로 사용할 수 있는 서비스로, PDF 파일에서 데이터를 내보내고 가져올 수 있으며 xml 데이터를 xdp 템플릿으로 병합하여 대화형 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: PDFormRenderOptions를 만들고 해당 속성을 설정합니다.
7행: FormsService의 renderPDFForm 서비스 작업을 사용하여 대화형 PDF 생성
11행: 생성된 대화형 pdf를 호출 응용 프로그램으로 반환
시스템에서 샘플 패키지를 테스트하려면
-
Adobe Granite CSRF 필터 검색
-
제외된 섹션에 다음 경로를 추가하고 저장합니다
-
/bin/generateinteractivepdf
-
Apache Sling Service 사용자 매퍼 서비스 를 검색하고 클릭하여 속성을 엽니다.
- + 아이콘(더하기)을 클릭하여 다음 서비스 매핑을 추가합니다
- DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
- ' 저장 ' 클릭
- + 아이콘(더하기)을 클릭하여 다음 서비스 매핑을 추가합니다
-
필드 두 개를 입력한 다음 다운로드 및 채우기 단추를 … 단추
-
대화형 PDF는 로컬 시스템으로 다운로드해야 합니다
샘플 패키지에는 모바일 양식과 연결된 사용자 지정 프로필이 포함되어 있습니다. customtoolbar.jsp 파일을 살펴보십시오. 이 jsp는 모바일 양식에서 데이터를 추출하고 /bin/generateinteractivepdf 경로에 탑재된 서블릿에 POST 요청을 수행합니다. 서블릿은 대화형 pdf를 호출 응용 프로그램으로 반환합니다. 그런 다음 customtoolbar.jsp의 코드는 파일을 로컬 시스템에 다운로드합니다