使用Java API将文档传递到Forms服务

使用Forms服务和内容服务(已弃用)API (Java)传递从内容服务(已弃用)获得的文档:

  1. 包含项目文件

    在Java项目的类路径中包含客户端JAR文件,例如adobe-forms-client.jar和adobe-contentservices-client.jar。

  2. 创建Forms和Document Management客户端API对象

    • 创建包含连接属性的ServiceClientFactory对象。 (请参阅设置连接属性。)
    • 使用构造函数创建FormsServiceClient对象并传递ServiceClientFactory对象。
    • 使用对象的构造函数创建DocumentManagementServiceClientImpl对象并传递ServiceClientFactory对象。
  3. 从Content Services检索表单设计(已弃用)

    调用DocumentManagementServiceClientImpl对象的retrieveContent方法并传递以下值:

    • 一个字符串值,它指定添加内容的存储。 默认存储为SpacesStore。 此值是必需参数。
    • 一个字符串值,它指定要检索的内容的完全限定路径(例如,/Company Home/Form Designs/Loan.xdp)。 此值是必需参数。
    • 指定版本的字符串值。 此值是一个可选参数,您可以传递空字符串。 在这种情况下,将检索最新版本。

    retrieveContent方法返回包含XDP文件的CRCResult对象。 通过调用CRCResult对象的getDocument方法获取com.adobe.idp.Document实例。

  4. 呈现交互式PDF表单

    调用FormsServiceClient对象的renderPDFForm2方法并传递以下值:

    • 包含从Content Services检索到的表单设计的com.adobe.idp.Document对象(已弃用)。
    • 包含要与表单合并的数据的com.adobe.idp.Document对象。 如果不想合并数据,请传递一个空的com.adobe.idp.Document对象。
    • 存储运行时选项的PDFFormRenderSpec对象。 此值是一个可选参数,如果您不想指定运行时选项,则可以指定null
    • 包含URI值的URLSpec对象。 此值是可选参数,您可以指定null
    • 存储文件附件的java.util.HashMap对象。 此值是一个可选参数,如果您不想将文件附加到表单,则可以指定null

    renderPDFForm方法返回的FormsResult对象包含必须写入客户端Web浏览器的表单数据流。

  5. 对表单数据流执行操作

    • 通过调用FormsResult对象的getOutputContent方法创建com.adobe.idp.Document对象。
    • 通过调用其getContentType方法获取com.adobe.idp.Document对象的内容类型。
    • 通过调用其setContentType方法并传递com.adobe.idp.Document对象的内容类型来设置javax.servlet.http.HttpServletResponse对象的内容类型。
    • 通过调用javax.servlet.http.HttpServletResponse对象的getOutputStream方法,创建用于将表单数据流写入客户端Web浏览器的javax.servlet.ServletOutputStream对象。
    • 通过调用com.adobe.idp.Document对象的getInputStream方法创建java.io.InputStream对象。
    • 通过调用InputStream对象的read方法,创建字节数组并使用表单数据流填充该数组。 将字节数组作为参数传递。
    • 调用javax.servlet.ServletOutputStream对象的write方法将表单数据流发送到客户端Web浏览器。 将字节数组传递给write方法。