在AEM Forms中使用Forms服务渲染交互式PDF

在AEM Forms中使用Forms Service API渲染交互式PDF

在本文中,我们将了解以下服务

  • FormsService — 这是一项用途广泛的服务,允许您将数据从PDF文件导出/导入PDF文件,还可以通过将xml数据合并到xdp模板中来生成交互式PDF

此处🔗列出了AEM Forms API的正式javadoc

以下代码片段使用FormsService的renderPDFForm操作呈现交互式pdf。 申根.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模板的文件夹的位置

第2-4行:创建PDFFormRenderOptions并设置其属性

第7行:使用FormsService的renderPDFForm服务操作生成交互式PDF

第11行:将生成的交互式pdf返回给调用应用程序

在系统上测试示例包

  1. 使用Felix Web控制台下载并安装DocumentServices示例包

  2. 使用AEM包管理器下载和安装包

  3. 登录到configMgr

  4. 搜索AdobeGranite CSRF过滤器

  5. 在排除的部分中添加以下路径并保存

  6. /bin/generateinteractivepdf

  7. 打开移动设备表单

  8. 填写几个字段,然后单击​下载并填写……. 按钮

  9. 应将交互式pdf下载到您的本地系统

示例包包含与移动设备表单关联的自定义用户档案。 请浏览customtoolbar.jsp文件。 此jsp从移动表单中提取数据,并向装载在​/bin/generateinteractivepdf​路径上的Servlet发出POST请求。 Servlet将交互式PDF返回给调用应用程序。 customtoolbar.jsp中的代码,然后将该文件下载到您的本地系统

在此页面上