Renderizar um formulário no cliente usando a API Java

Renderize um formulário no cliente usando a API do Forms (Java):

  1. Incluir arquivos de projeto

    Inclua arquivos JAR do cliente, como adobe-forms-client.jar, no caminho de classe do projeto Java.

  2. Criar um objeto da API do cliente do Forms

    • Crie um objeto ServiceClientFactory que contenha propriedades de conexão.
    • Crie um objeto FormsServiceClient usando seu construtor e transmitindo o objeto ServiceClientFactory.
  3. Definir opções de tempo de execução de renderização do cliente

    • Crie um objeto PDFFormRenderSpec usando seu construtor.
    • Defina a opção de tempo de execução RenderAtClient invocando o método setRenderAtClient do objeto PDFFormRenderSpec e transmitindo o valor de enumeração RenderAtClient.Yes.
  4. Renderizar um formulário no cliente

    Chame o método renderPDFForm do objeto FormsServiceClient e passe os seguintes valores:

    • Um valor de cadeia de caracteres que especifica o nome de design do formulário, incluindo a extensão de nome de arquivo. Se você referenciar um design de formulário que faça parte de um aplicativo do AEM Forms, certifique-se de especificar o caminho completo, como Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • Um objeto com.adobe.idp.Document que contém dados para mesclar com o formulário. Se não quiser mesclar dados, passe um objeto com.adobe.idp.Document vazio.
    • Um objeto PDFFormRenderSpec que armazena opções de tempo de execução necessárias para renderizar um formulário no cliente.
    • Um objeto URLSpec que contém valores de URI exigidos pelo serviço Forms para renderizar um formulário.
    • Um objeto java.util.HashMap que armazena anexos de arquivo. Este é um parâmetro opcional e você pode especificar null se não quiser anexar arquivos ao formulário.

    O método renderPDFForm retorna um objeto FormsResult que contém um fluxo de dados de formulário que deve ser gravado no navegador Web cliente.

  5. Gravar o fluxo de dados do formulário no navegador Web cliente

    • Crie um objeto com.adobe.idp.Document invocando o método getOutputContent do objeto FormsResult.
    • Obtenha o tipo de conteúdo do objeto com.adobe.idp.Document invocando seu método getContentType.
    • Defina o tipo de conteúdo do objeto javax.servlet.http.HttpServletResponse invocando seu método setContentType e transmitindo o tipo de conteúdo do objeto com.adobe.idp.Document.
    • Crie um objeto javax.servlet.ServletOutputStream usado para gravar o fluxo de dados de formulário no navegador da Web cliente, chamando o método getOutputStream do objeto javax.servlet.http.HttpServletResponse.
    • Crie um objeto java.io.InputStream invocando o método getInputStream do objeto com.adobe.idp.Document.
    • Crie uma matriz de bytes e preencha-a com o fluxo de dados de formulário, chamando o método read do objeto InputStream e transmitindo a matriz de bytes como argumento.
    • Invoque o método write do objeto javax.servlet.ServletOutputStream para enviar o fluxo de dados de formulário para o navegador da Web cliente. Passar a matriz de bytes para o método write.