Resumo das etapas
Para renderizar um formulário por valor, execute as seguintes etapas:
- Inclua arquivos de projeto.
- Crie um objeto da API do cliente do Forms.
- Consulte o design de formulário.
- Renderizar um formulário por valor.
- Grave o fluxo de dados do formulário no navegador da Web cliente.
Incluir arquivos de projeto
Inclua os arquivos necessários no projeto de desenvolvimento. Se você estiver criando um aplicativo cliente usando Java, inclua os arquivos JAR necessários. Se você estiver usando serviços da Web, certifique-se de incluir os arquivos proxy.
Criar um objeto de API do cliente do Forms
Antes de poder importar dados de forma programática para uma API do cliente do PDF, é necessário criar um cliente do serviço de Integração de dados. Ao criar um cliente de serviço, você define as configurações de conexão necessárias para chamar um serviço.
Referência ao design de formulário
Ao renderizar um formulário por valor, é necessário criar um com.adobe.idp.Document objeto que contém o design de formulário a ser renderizado. Você pode fazer referência a um arquivo XDP existente ou pode criar dinamicamente um design de formulário em tempo de execução e preencher um com.adobe.idp.Document com esses dados.
Renderizar um formulário por valor
Para renderizar um formulário por valor, passe um com.adobe.idp.Document instância que contém o design de formulário para o método de renderização inDataDoc (pode ser qualquer um dos FormsServiceClient métodos de renderização do objeto, como renderPDFForm, (Deprecated) renderHTMLForme assim por diante). Normalmente, esse valor de parâmetro é reservado para dados unidos ao formulário. Da mesma forma, passe um valor de string vazia para a variável formQuery parâmetro. Normalmente, esse parâmetro requer um valor de string que especifica o nome do design de formulário.
xfa:datasets elemento. Para obter informações sobre a arquitetura XFA, acesse https://www.pdfa.org/norm-refs/XFA-3_3.pdf.Gravar o fluxo de dados do formulário no navegador da Web cliente
Quando o serviço Forms renderiza um formulário por valor, ele retorna um fluxo de dados de formulário que deve ser gravado no navegador da Web cliente. Quando gravado no navegador da Web do cliente, o formulário fica visível para o usuário.
Consulte também
Renderizar um formulário por valor usando a API Java
Renderizar um formulário por valor usando a API do serviço da Web
Inclusão de arquivos da biblioteca Java do AEM Forms
Configuração das propriedades de conexão
Início rápido da API do Forms Service
Renderizar um formulário por valor usando a API Java
Renderize um formulário por valor usando a API do Forms (Java):
-
Incluir arquivos de projeto
Inclua arquivos JAR do cliente, como adobe-forms-client.jar, no caminho de classe do seu projeto Java.
-
Criar um objeto de API do cliente do Forms
- Crie um
ServiceClientFactoryobjeto que contém propriedades de conexão. - Crie um
FormsServiceClientusando seu construtor e passando oServiceClientFactoryobjeto.
- Crie um
-
Referência ao design de formulário
- Crie um
java.io.FileInputStreamobjeto que representa o design de formulário a ser renderizado usando seu construtor e passando um valor de string que especifica o local do arquivo XDP. - Crie um
com.adobe.idp.Documentusando seu construtor e passando ojava.io.FileInputStreamobjeto.
- Crie um
-
Renderizar um formulário por valor
Chame o
FormsServiceClientdo objetorenderPDFForme transmita os seguintes valores:- Um valor de string vazio. (Normalmente, esse parâmetro requer um valor de string que especifica o nome do design de formulário.)
- A
com.adobe.idp.Documentobjeto que contém o design de formulário. Normalmente, esse valor de parâmetro é reservado para dados que são unidos ao formulário. - A
PDFFormRenderSpecobjeto que armazena opções de tempo de execução. Este é um parâmetro opcional e você pode especificarnullse você não quiser especificar opções de tempo de execução. - A
URLSpecobjeto que contém valores de URI exigidos pelo serviço Forms. - A
java.util.HashMapque armazena anexos de arquivo. Este é um parâmetro opcional e você pode especificarnullse não quiser anexar arquivos ao formulário.
O
renderPDFFormmétodo retorna umFormsResultobjeto que contém um fluxo de dados de formulário que pode ser gravado no navegador da Web do cliente. -
Gravar o fluxo de dados do formulário no navegador da Web cliente
- Crie um
com.adobe.idp.Documentchamando oFormsResultobjeto "sgetOutputContentmétodo . - Obtenha o tipo de conteúdo da variável
com.adobe.idp.Documentao invocar seugetContentTypemétodo . - Defina as
javax.servlet.http.HttpServletResponsetipo de conteúdo do objeto, chamando seusetContentTypee a transmissão do tipo de conteúdo docom.adobe.idp.Documentobjeto. - Crie um
javax.servlet.ServletOutputStreamobjeto usado para gravar o fluxo de dados do formulário no navegador da Web cliente, chamando ojavax.servlet.http.HttpServletResponsedo objetogetOutputStreammétodo . - Crie um
java.io.InputStreamchamando ocom.adobe.idp.Documentdo objetogetInputStreammétodo . - Crie uma matriz de bytes e aloque o tamanho da variável
InputStreamobjeto. Chame oInputStreamdo objetoavailablepara obter o tamanho da variávelInputStreamobjeto. - Preencha a matriz de bytes com o fluxo de dados do formulário chamando a variável
InputStreamdo objetoreade transmitindo a matriz de bytes como um argumento. - Chame o
javax.servlet.ServletOutputStreamdo objetowritepara enviar o fluxo de dados do formulário para o navegador da Web cliente. Transmita a matriz de bytes para awritemétodo .
- Crie um