Os exemplos e amostras neste documento são somente para AEM Forms no ambiente JEE.
Ao renderizar um formulário, você pode definir opções de tempo de execução que otimizarão o desempenho do serviço Forms. Outra tarefa que você pode executar para melhorar o desempenho do serviço Forms é armazenar arquivos XDP no repositório. No entanto, esta seção não descreve como executar essa tarefa. (Consulte Chamar um serviço usando uma biblioteca cliente Java.)
Para obter mais informações sobre o serviço Forms, consulte Referência de serviços para o AEM Forms.
Para otimizar o desempenho do serviço Forms ao renderizar um formulário, execute as seguintes tarefas:
Incluir arquivos de projeto
Inclua os arquivos necessários no projeto de desenvolvimento. Se você estiver criando uma aplicação 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 da API do cliente do Forms
Antes de executar programaticamente uma operação da API do cliente de serviço do Forms, você deve criar um cliente de serviço do Forms. Se estiver usando a API Java, crie uma FormsServiceClient
objeto. Se estiver usando a API do serviço Web Forms, crie uma FormsService
objeto.
Definir opções de tempo de execução de desempenho
Você pode definir as seguintes opções de tempo de execução de desempenho para melhorar o desempenho do serviço Forms:
true
, que resulta em formulários sendo renderizados sem informações de estado. As informações de estado são necessárias se você quiser renderizar um formulário interativo para um usuário final que, em seguida, insere informações no formulário e o envia de volta para o serviço Forms. O serviço Forms executa uma operação de cálculo e renderiza o formulário de volta para o usuário com os resultados exibidos no formulário. Se um formulário sem informações de estado for enviado de volta para o serviço Forms, somente os dados XML estarão disponíveis e os cálculos do lado do servidor não serão executados.Renderizar o formulário
Para renderizar o formulário após definir as opções de desempenho, use a mesma lógica de aplicação que renderizar um formulário sem as opções de desempenho.
Gravar o fluxo de dados do formulário no navegador Web cliente
Depois que o serviço Forms renderiza um formulário, ele retorna um fluxo de dados de formulário que você deve gravar no navegador da Web do cliente. Quando gravado no navegador da Web do cliente, o formulário fica visível para o usuário.
Consulte também
Inclusão de arquivos da biblioteca Java do AEM Forms
Definindo propriedades de conexão
Início rápido da API de serviço do Forms
Renderização de PDF forms interativos
Renderização do Forms como HTML
Criação de aplicações Web que renderizam o Forms
Renderize um formulário com desempenho otimizado 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 projeto Java.
Criar um objeto da API do cliente do Forms
ServiceClientFactory
objeto que contém propriedades de conexão.FormsServiceClient
usando seu construtor e transmitindo o ServiceClientFactory
objeto.Definir opções de tempo de execução de desempenho
PDFFormRenderSpec
usando seu construtor.PDFFormRenderSpec
do objeto setCacheEnabled
método e transmissão true
.PDFFormRenderSpec
do objeto setLinearizedPDF
método e transmissão true.
Renderizar o formulário
Chame o FormsServiceClient
do objeto renderPDFForm
e passe os seguintes valores:
com.adobe.idp.Document
objeto que contém dados a serem mesclados com o formulário. Se não quiser mesclar dados, passe uma tag vazia com.adobe.idp.Document
objeto.PDFFormRenderSpec
objeto que armazena opções de tempo de execução para melhorar o desempenho.URLSpec
objeto que contém valores de URI exigidos pelo serviço do Forms.java.util.HashMap
objeto que armazena anexos de arquivo. Este é um parâmetro opcional e você pode especificar null
se não quiser anexar arquivos ao formulário.A variável renderPDFForm
o método retorna um FormsResult
objeto que contém um fluxo de dados de formulário que deve ser gravado no navegador da web do cliente.
Gravar o fluxo de dados do formulário no navegador Web cliente
javax.servlet.ServletOutputStream
objeto usado para enviar um fluxo de dados de formulário para o navegador da web cliente.com.adobe.idp.Document
ao invocar o FormsResult
object's getOutputContent
método.java.io.InputStream
ao invocar o com.adobe.idp.Document
do objeto getInputStream
método.InputStream
do objeto read
e transmitindo a matriz de bytes como um argumento.javax.servlet.ServletOutputStream
do objeto write
para enviar o fluxo de dados de formulário para o navegador web cliente. Passe a matriz de bytes para o write
método.Consulte também
Início rápido (modo SOAP): otimização do desempenho usando a API Java
Inclusão de arquivos da biblioteca Java do AEM Forms
Definindo propriedades de conexão
Renderize um formulário com desempenho otimizado usando a API do Forms (serviço da Web):
Incluir arquivos de projeto
Criar um objeto da API do cliente do Forms
Criar um FormsService
objeto e definir valores de autenticação.
Definir opções de tempo de execução de desempenho
PDFFormRenderSpec
usando seu construtor.PDFFormRenderSpec
do objeto setCacheEnabled
e transmitindo true.PDFFormRenderSpec
do objeto setStandAlone
e transmitindo true.PDFFormRenderSpec
do objeto setLinearizedPDF
e transmitindo true.Renderizar o formulário
Chame o FormsService
do objeto renderPDFForm
e passe os seguintes valores:
BLOB
objeto que contém dados a serem mesclados com o formulário. Se não quiser mesclar dados, transmita null
.PDFFormRenderSpecc
objeto que armazena opções de tempo de execução.URLSpec
objeto que contém valores de URI exigidos pelo serviço do Forms.java.util.HashMap
objeto que armazena anexos de arquivo. Este é um parâmetro opcional e você pode especificar null
se não quiser anexar arquivos ao formulário.com.adobe.idp.services.holders.BLOBHolder
objeto preenchido pelo método. Isso é usado para armazenar o formulário de PDF renderizado.javax.xml.rpc.holders.LongHolder
objeto preenchido pelo método. (Esse argumento armazenará o número de páginas no formulário).javax.xml.rpc.holders.StringHolder
objeto preenchido pelo método. (Esse argumento armazenará o valor do local).com.adobe.idp.services.holders.FormsResultHolder
objeto que conterá os resultados desta operação.A variável renderPDFForm
O método preenche o com.adobe.idp.services.holders.FormsResultHolder
objeto que é passado como o último valor de argumento com um fluxo de dados de formulário que deve ser gravado no navegador da web do cliente.
Gravar o fluxo de dados do formulário no navegador Web cliente
FormResult
obtendo o valor do com.adobe.idp.services.holders.FormsResultHolder
do objeto value
membro de dados.javax.servlet.ServletOutputStream
objeto usado para enviar um fluxo de dados de formulário para o navegador da web cliente.BLOB
objeto que contém dados de formulário chamando o FormsResult
do objeto getOutputContent
método.BLOB
do objeto getBinaryData
método. Esta tarefa atribui o conteúdo do FormsResult
à matriz de bytes.javax.servlet.http.HttpServletResponse
do objeto write
para enviar o fluxo de dados de formulário para o navegador web cliente. Passe a matriz de bytes para o write
método.Consulte também
Chamada de AEM Forms usando codificação Base64