文档AEMAEM 教程AEM Forms 教程

在AEM Forms中使用Forms服务呈现交互式PDF

最近更新: 2025年5月5日
  • 适用对象:
  • Experience Manager 6.4
  • Experience Manager 6.5
  • 主题:

创建对象:

  • 中级
  • 开发人员

在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:创建PDFFormRenderOptions并设置其属性

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

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

在系统上测试示例包

  1. 下载并安装DevelopingWithServiceUserBundle

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

  3. 使用AEM包管理器下载并安装包

  4. 登录到configMgr

  5. 搜索Adobe Granite CSRF筛选器

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

  7. /bin/generateinteractivepdf

  8. 搜索​ Apache Sling服务用户映射器服务,然后单击以打开属性

    1. 单击​ + ​图标(加号)以添加以下服务映射
      • DevelopingWithServiceUser.core:getformsresourceresolver=fd-service
    2. 单击“保存”
  9. 打开移动设备表单

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

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

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

recommendation-more-help
8de24117-1378-413c-a581-01e660b7163e