Renderização do HTML Forms usando arquivos CSS personalizados

Exemplos e exemplos neste documento são apenas para o AEM Forms no ambiente JEE.

O serviço Forms renderiza formulários HTML em resposta a uma solicitação HTTP de um navegador da Web. Ao renderizar um formulário HTML, o serviço Forms pode fazer referência a um arquivo CSS personalizado. Você pode criar um arquivo CSS personalizado para atender aos requisitos da sua empresa e fazer referência a esse arquivo CSS ao usar o serviço Forms para renderizar formulários de HTML.

O serviço Forms analisa silenciosamente o arquivo CSS personalizado. Ou seja, o serviço Forms não relata erros que podem ser encontrados se o arquivo CSS personalizado não estiver em conformidade com os padrões CSS. Nessa situação, o serviço Forms ignora o estilo e continua com os estilos restantes localizados no arquivo CSS.

A lista a seguir especifica os estilos compatíveis com um arquivo CSS personalizado:

  • Pares de estilo do seletor de nível de classe: Se presentes em um arquivo CSS personalizado, são usados seletores usados no formulário HTML como estilos de classe. Os estilos de classe não usados são ignorados.
  • Pares de estilo do seletor de nível de identificador: Todos os estilos de identificador são usados no formulário HTML.
  • Pares de estilo do seletor de nível de elemento: Todos os estilos de elemento são usados no formulário HTML.
  • Prioridade de estilo: A prioridade de estilo (como importante) é suportada e pode ser usada em um arquivo CSS personalizado.
  • Tipo de mídia: Um ou mais pares de estilo do seletor podem ser vinculados no estilo @media para definir o tipo de mídia. O serviço Forms não verifica se o tipo de mídia especificado é compatível. O tipo de mídia especificado no arquivo CSS personalizado é unido no formulário HTML.

Você pode recuperar um arquivo CSS de amostra usando o aplicativo FormsIVS. Carregue o formulário, selecione-o na página Testar design de formulário e clique em Gerar CSS. Não é necessário definir o tipo de transformação HTML antes de clicar no botão. Em seguida, selecione salvar. Você pode editar esse arquivo CSS para atender aos requisitos de sua empresa.

OBSERVAÇÃO

Antes de renderizar um formulário HTML que use um arquivo CSS personalizado, é importante ter uma compreensão sólida da renderização de formulários HTML. (Consulte Renderizar o Forms como HTML.)

OBSERVAÇÃO

Para obter mais informações sobre o serviço Forms, consulte Referência de serviços para o AEM Forms.

Resumo das etapas

Para renderizar um formulário HTML que use um arquivo CSS, execute as seguintes tarefas:

  1. Inclua arquivos de projeto.
  2. Crie um objeto da API Java do Forms.
  3. Faça referência ao arquivo CSS.
  4. Renderize um formulário HTML.
  5. Grave o fluxo de dados do formulário no navegador da Web cliente.

Incluir arquivos de projeto

Inclua os arquivos necessários no seu 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 da API Java do Forms

Antes de executar programaticamente uma operação suportada pelo serviço Forms, é necessário criar um objeto cliente Forms.

Referência ao arquivo CSS

Para renderizar um formulário HTML que use um arquivo CSS personalizado, certifique-se de fazer referência a um arquivo CSS existente.

Renderizar um formulário de HTML

Para renderizar um formulário HTML, você deve especificar um design de formulário criado no Designer e salvo como um arquivo XDP. Você também deve selecionar um tipo de transformação HTML. Por exemplo, você pode especificar o tipo HTML transformation que renderiza um HTML dinâmico para o Internet Explorer 5.0 ou posterior.

A renderização de um formulário HTML também requer valores, como valores URI necessários para renderizar outros tipos de formulário.

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

Quando o serviço Forms renderiza um formulário HTML, ele retorna um fluxo de dados de formulário que você deve gravar no navegador da Web cliente para tornar o formulário HTML visível para o usuário.

Consulte também

Renderizar um formulário HTML que usa um arquivo CSS usando a API do Java

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

Renderizar o Forms como HTML

Criação de aplicativos Web que renderizam o Forms

Renderizar um formulário HTML que usa um arquivo CSS usando a API do Java

Renderize um formulário HTML que use um arquivo CSS personalizado 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 seu projeto Java.

  2. Criar um objeto da API Java do Forms

    • Crie um ServiceClientFactory objeto que contém propriedades de conexão.
    • Crie um FormsServiceClient usando seu construtor e passando o ServiceClientFactory objeto.
  3. Referência ao arquivo CSS

    • Crie um HTMLRenderSpec usando seu construtor.
    • Para renderizar o formulário HTML que usa um arquivo CSS personalizado, chame a função HTMLRenderSpec do objeto setCustomCSSURI e transmita um valor de string que especifica o local e o nome do arquivo CSS.
  4. Renderizar um formulário de HTML

    Chame o FormsServiceClient do objeto (Deprecated) (Deprecated) renderHTMLForm e transmita os seguintes valores:

    • Um valor de string que especifica o nome do design de formulário, incluindo a extensão de nome de arquivo. Se você fizer referência a um design de formulário que faz parte de um aplicativo Forms, especifique o caminho completo, como Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A TransformTo valor enum que especifica o tipo de preferência HTML. Por exemplo, para renderizar um formulário HTML compatível com o HTML dinâmico para o Internet Explorer 5.0 ou posterior, especifique TransformTo.MSDHTML.
    • A 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.
    • O HTMLRenderSpec objeto que armazena opções de tempo de execução HTML.
    • Um valor de string que especifica a variável HTTP_USER_AGENT valor de cabeçalho, como Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322).
    • A URLSpec objeto que armazena valores de URI necessários para renderizar um formulário HTML.
    • A 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 (Deprecated) renderHTMLForm 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.

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

    • Crie um com.adobe.idp.Document chamando o FormsResult objeto "s getOutputContent método .
    • Obtenha o tipo de conteúdo da variável com.adobe.idp.Document ao invocar seu getContentType método .
    • Defina as javax.servlet.http.HttpServletResponse tipo de conteúdo do objeto, chamando seu setContentType e a transmissão do tipo de conteúdo do com.adobe.idp.Document objeto.
    • Crie um javax.servlet.ServletOutputStream objeto usado para gravar o fluxo de dados do formulário no navegador da Web cliente, chamando o javax.servlet.h\ttp.HttpServletResponse do objeto getOutputStream método .
    • Crie um java.io.InputStream chamando o com.adobe.idp.Document do objeto getInputStream método .
    • Crie uma matriz de bytes e preencha-a com o fluxo de dados do formulário, chamando o InputStream do objeto read e transmitindo a matriz de bytes como um argumento.
    • Chame o 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

Renderização do HTML Forms usando arquivos CSS personalizados

Início rápido (modo SOAP): Renderização de um formulário HTML que usa um arquivo CSS usando a API do Java

Inclusão de arquivos da biblioteca Java do AEM Forms

Configuração das propriedades de conexão

Renderizar um formulário HTML que usa um arquivo CSS usando a API do serviço da Web

Renderize um formulário HTML que use um arquivo CSS personalizado usando a API do Forms (serviço da Web):

  1. Incluir arquivos de projeto

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

    Crie um FormsService e definir valores de autenticação.

  3. Referência ao arquivo CSS

    • Crie um HTMLRenderSpec usando seu construtor.
    • Para renderizar o formulário HTML que usa um arquivo CSS personalizado, chame a função HTMLRenderSpec do objeto setCustomCSSURI e transmita um valor de string que especifica o local e o nome do arquivo CSS.
  4. Renderizar um formulário de HTML

    Chame o FormsService do objeto (Deprecated) renderHTMLForm e transmita os seguintes valores:

    • Um valor de string que especifica o nome do design de formulário, incluindo a extensão de nome de arquivo. Se você fizer referência a um design de formulário que faz parte de um aplicativo Forms, especifique o caminho completo, como Applications/FormsApplication/1.0/FormsFolder/Loan.xdp.
    • A TransformTo valor enum que especifica o tipo de preferência HTML. Por exemplo, para renderizar um formulário HTML compatível com o HTML dinâmico para o Internet Explorer 5.0 ou posterior, especifique TransformTo.MSDHTML.
    • A BLOB objeto que contém dados para mesclar com o formulário. Se você não deseja mesclar dados, use null. (Consulte Pré-preenchimento do Forms com layouts flutuantes.)
    • O HTMLRenderSpec objeto que armazena opções de tempo de execução HTML.
    • Um valor de string que especifica a variável HTTP_USER_AGENT valor de cabeçalho, como Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322). Você pode passar uma string vazia se não quiser definir esse valor.
    • A URLSpec objeto que armazena valores de URI necessários para renderizar um formulário HTML.
    • A 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 vazio com.adobe.idp.services.holders.BLOBHolder que é preenchido pela variável (Deprecated) renderHTMLForm método . Esse valor de parâmetro armazena o formulário renderizado.
    • Um vazio com.adobe.idp.services.holders.BLOBHolder que é preenchido pela variável (Deprecated) renderHTMLForm método . Esse parâmetro armazena os dados XML de saída.
    • Um vazio javax.xml.rpc.holders.LongHolder que é preenchido pela variável (Deprecated) renderHTMLForm método . Esse argumento armazena o número de páginas no formulário.
    • Um vazio javax.xml.rpc.holders.StringHolder que é preenchido pela variável (Deprecated) renderHTMLForm método . Esse argumento armazena o valor da localidade.
    • Um vazio javax.xml.rpc.holders.StringHolder que é preenchido pela variável (Deprecated) renderHTMLForm método . Esse argumento armazena o valor de renderização de HTML usado.
    • Um vazio com.adobe.idp.services.holders.FormsResultHolder que conterá os resultados desta operação.

    O (Deprecated) renderHTMLForm 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.

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

    • Crie um FormResult obtendo o valor da variável com.adobe.idp.services.holders.FormsResultHolder do objeto value membro de dados.
    • Crie um BLOB objeto que contém dados de formulário chamando o FormsResult do objeto getOutputContent método .
    • Obtenha o tipo de conteúdo da variável BLOB ao invocar seu getContentType método .
    • Defina as javax.servlet.http.HttpServletResponse tipo de conteúdo do objeto, chamando seu setContentType e a transmissão do tipo de conteúdo do BLOB objeto.
    • Crie um javax.servlet.ServletOutputStream objeto usado para gravar o fluxo de dados do formulário no navegador da Web cliente, chamando o javax.servlet.http.HttpServletResponse do objeto getOutputStream método .
    • Crie uma matriz de bytes e preencha-a chamando a variável BLOB do objeto getBinaryData método . Essa tarefa atribui o conteúdo da FormsResult para a matriz de bytes.
    • Chame o 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

Renderização do HTML Forms usando arquivos CSS personalizados

Chamada de AEM Forms usando codificação Base64

Nesta página