AEM 6.4 chegou ao fim do suporte estendido e esta documentação não é mais atualizada. Para obter mais detalhes, consulte nossa períodos de assistência técnica. Encontre as versões compatíveis here.
Ao renderizar um formulário, é possível definir opções de tempo de execução que otimizem 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 do 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 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 executar programaticamente uma operação de API do cliente de serviço do Forms, é necessário criar um cliente de serviço do Forms. Se estiver usando a API do Java, crie um FormsServiceClient
objeto. Se estiver usando a API do serviço da Web da Forms, crie um 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
, o que resulta na renderização de formulários 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 envia o formulário de volta ao serviço da Forms. O serviço Forms realiza 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 ao serviço da 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 opções de desempenho, use a mesma lógica de aplicativo como renderização de um formulário sem opções de desempenho.
Gravar o fluxo de dados do formulário no navegador da Web cliente
Depois que o serviço Forms renderiza um formulário, 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
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
Renderização de PDF forms interativos
Criação de aplicativos 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 seu projeto Java.
Criar um objeto de API do cliente do Forms
ServiceClientFactory
objeto que contém propriedades de conexão.FormsServiceClient
usando seu construtor e passando o ServiceClientFactory
objeto.Definir opções de tempo de execução de desempenho
PDFFormRenderSpec
usando seu construtor.PDFFormRenderSpec
do objeto setCacheEnabled
método e aprovação true
.PDFFormRenderSpec
do objeto setLinearizedPDF
método e aprovação true.
Renderizar o formulário
Chame o FormsServiceClient
do objeto renderPDFForm
e transmita os seguintes valores:
com.adobe.idp.Document
objeto que contém dados para mesclar com o formulário. Se não quiser mesclar dados, passe um vazio 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 Forms.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 renderPDFForm
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 da 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
chamando o FormsResult
objeto "s getOutputContent
método .java.io.InputStream
chamando 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 do formulário para o navegador da Web cliente. Transmita a matriz de bytes para a 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
Configuração das 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 de API do cliente do Forms
Crie um FormsService
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 transmita os seguintes valores:
BLOB
objeto que contém dados para mesclar com o formulário. Se você não deseja mesclar dados, use null
.PDFFormRenderSpecc
objeto que armazena opções de tempo de execução.URLSpec
objeto que contém valores de URI exigidos pelo serviço Forms.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.com.adobe.idp.services.holders.BLOBHolder
objeto preenchido pelo método . Isso é usado para armazenar o formulário 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 da localidade).com.adobe.idp.services.holders.FormsResultHolder
que conterá os resultados desta operação.O renderPDFForm
O método preenche a variável com.adobe.idp.services.holders.FormsResultHolder
objeto que é passado como o último valor do 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 da Web cliente
FormResult
obtendo o valor da variável 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 . Essa tarefa atribui o conteúdo da FormsResult
para a matriz de bytes.javax.servlet.http.HttpServletResponse
do objeto write
para enviar o fluxo de dados do formulário para o navegador da Web cliente. Transmita a matriz de bytes para a write
método .Consulte também
Chamada de AEM Forms usando codificação Base64