Otimizar o desempenho usando a API Java

Renderize um formulário com desempenho otimizado 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 desempenho

    • Crie um objeto PDFFormRenderSpec usando seu construtor.
    • Defina a opção de cache de formulários chamando o método setCacheEnabled do objeto PDFFormRenderSpec e transmitindo true.
    • Defina a opção linearizada chamando o método setLinearizedPDF do objeto PDFFormRenderSpec e transmitindo true.
  4. Renderizar o formulário

    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.
    • 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 para melhorar o desempenho.
    • Um objeto URLSpec que contém valores de URI exigidos pelo serviço Forms.
    • 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 javax.servlet.ServletOutputStream usado para enviar um fluxo de dados de formulário ao navegador da Web cliente.
    • Crie um objeto com.adobe.idp.Document invocando o método getOutputContent do objeto FormsResult.
    • 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.

Otimizar o desempenho usando a API do serviço Web

Renderize um formulário com desempenho otimizado usando a API do Forms (serviço da Web):

  1. Incluir arquivos de projeto

    • Crie classes de proxy Java que consomem o serviço WSDL do Forms.
    • Inclua as classes de proxy Java no caminho da classe.
  2. Criar um objeto da API do cliente do Forms

    Crie um objeto FormsService e defina valores de autenticação.

  3. Definir opções de tempo de execução de desempenho

    • Crie um objeto PDFFormRenderSpec usando seu construtor.
    • Defina a opção de cache de formulários chamando o método setCacheEnabled do objeto PDFFormRenderSpec e passando true.
    • Defina a opção autônoma invocando o método setStandAlone do objeto PDFFormRenderSpec e transmitindo true.
    • Defina a opção linearizada chamando o método setLinearizedPDF do objeto PDFFormRenderSpec e passando true.
  4. Renderizar o formulário

    Chame o método renderPDFForm do objeto FormsService 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.
    • Um objeto BLOB que contém dados para mesclar com o formulário. Se não quiser mesclar dados, passe null.
    • Um objeto PDFFormRenderSpecc que armazena opções de tempo de execução.
    • Um objeto URLSpec que contém valores de URI exigidos pelo serviço Forms.
    • 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.
    • Um objeto com.adobe.idp.services.holders.BLOBHolder vazio preenchido pelo método. Isso é usado para armazenar o formulário de PDF renderizado.
    • Um objeto javax.xml.rpc.holders.LongHolder vazio preenchido pelo método. (Esse argumento armazenará o número de páginas no formulário).
    • Um objeto javax.xml.rpc.holders.StringHolder vazio preenchido pelo método. (Esse argumento armazenará o valor do local).
    • Um objeto com.adobe.idp.services.holders.FormsResultHolder vazio que conterá os resultados desta operação.

    O método renderPDFForm preenche o objeto com.adobe.idp.services.holders.FormsResultHolder que é passado como o último valor de argumento com 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 FormResult obtendo o valor do membro de dados value do objeto com.adobe.idp.services.holders.FormsResultHolder.
    • Crie um objeto javax.servlet.ServletOutputStream usado para enviar um fluxo de dados de formulário ao navegador da Web cliente.
    • Crie um objeto BLOB que contenha dados de formulário invocando o método getOutputContent do objeto FormsResult.
    • Crie uma matriz de bytes e preencha-a chamando o método getBinaryData do objeto BLOB. Esta tarefa atribui o conteúdo do objeto FormsResult à matriz de bytes.
    • Invoque o método write do objeto javax.servlet.http.HttpServletResponse 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.
recommendation-more-help