Renderização do HTML Forms usando arquivos CSS personalizados rendering-html-forms-using-custom-css-files
Exemplos e exemplos neste documento são somente para 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 empresa e fazer referência a esse arquivo CSS ao usar o serviço Forms para renderizar formulários 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 no arquivo CSS.
A lista a seguir especifica estilos compatíveis com um arquivo CSS personalizado:
- Pares de estilos do seletor de nível de classe: se presentes em um arquivo CSS personalizado, os seletores usados no formulário HTML como estilos de classe são usados. Estilos de classe não utilizados são ignorados.
- Pares de estilos de seletor de nível de identificador: todos os estilos de identificador serão usados se forem usados no formulário HTML.
- Pares de estilo do seletor de nível de elemento: todos os estilos de elemento serão usados se forem usados no formato 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 estilos do seletor podem ser encapsulados 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 é mesclado 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 de HTML antes de clicar no botão. Em seguida, selecione salvar. Você pode editar esse arquivo CSS para atender aos requisitos da sua empresa.
Resumo das etapas summary-of-steps
Para renderizar um formulário HTML que use um arquivo CSS, execute as seguintes tarefas:
- Incluir arquivos de projeto.
- Crie um objeto de API Java do Forms.
- Faça referência ao arquivo CSS.
- Renderize um formulário HTML.
- Grave o fluxo de dados do formulário no navegador da Web do cliente.
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 Java do Forms
Antes de executar programaticamente uma operação compatível com o serviço Forms, você deve 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, especifique um design de formulário que foi criado no Designer e salvo como um arquivo XDP. Selecione um tipo de transformação HTML. Por exemplo, você pode especificar o tipo de transformação de HTML 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 de URI necessários para renderizar outros tipos de formulário.
Gravar o fluxo de dados de formulário no navegador 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 do cliente para tornar o formulário HTML visível para o usuário.
Consulte também
Renderize um formulário HTML que use um arquivo CSS usando a API Java
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
Renderize um formulário HTML que use um arquivo CSS usando a API Java render-an-html-form-that-uses-a-css-file-using-the-java-api
Renderize um formulário HTML que use um arquivo CSS personalizado 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 de API Java do Forms
- Crie um objeto
ServiceClientFactory
que contenha propriedades de conexão. - Crie um objeto
FormsServiceClient
usando seu construtor e transmitindo o objetoServiceClientFactory
.
- Crie um objeto
-
Referência ao arquivo CSS
- Crie um objeto
HTMLRenderSpec
usando seu construtor. - Para renderizar o formulário HTML que usa um arquivo CSS personalizado, chame o método
setCustomCSSURI
do objetoHTMLRenderSpec
e passe um valor de cadeia de caracteres que especifique o local e o nome do arquivo CSS.
- Crie um objeto
-
Renderizar um formulário HTML
Invoque o método
(Deprecated) (Deprecated) renderHTMLForm
do objetoFormsServiceClient
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. Se você referenciar um design de formulário que faça parte de um aplicativo do Forms, certifique-se de especificar o caminho completo, como
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Um valor de enumeração
TransformTo
que especifica o tipo de preferência HTML. Por exemplo, para renderizar um formulário de HTML que seja compatível com o HTML dinâmico para o Internet Explorer 5.0 ou posterior, especifiqueTransformTo.MSDHTML
. - Um objeto
com.adobe.idp.Document
que contém dados para mesclar com o formulário. Se não quiser mesclar dados, passe um objetocom.adobe.idp.Document
vazio. - O objeto
HTMLRenderSpec
que armazena opções de tempo de execução de HTML. - Um valor de cadeia de caracteres que especifica o valor do cabeçalho
HTTP_USER_AGENT
, comoMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - Um objeto
URLSpec
que armazena valores de URI necessários para renderizar um formulário HTML. - Um objeto
java.util.HashMap
que armazena anexos de arquivo. Este é um parâmetro opcional, e você pode especificarnull
se não quiser anexar arquivos ao formulário.
O método
(Deprecated) renderHTMLForm
retorna um objetoFormsResult
que contém um fluxo de dados de formulário que deve ser gravado no navegador Web cliente. - Um valor de cadeia de caracteres que especifica o nome de design do formulário, incluindo a extensão de nome de arquivo. Se você referenciar um design de formulário que faça parte de um aplicativo do Forms, certifique-se de especificar o caminho completo, como
-
Gravar o fluxo de dados do formulário no navegador Web cliente
- Crie um objeto
com.adobe.idp.Document
invocando o métodogetOutputContent
do objetoFormsResult
. - Obtenha o tipo de conteúdo do objeto
com.adobe.idp.Document
invocando seu métodogetContentType
. - Defina o tipo de conteúdo do objeto
javax.servlet.http.HttpServletResponse
invocando seu métodosetContentType
e transmitindo o tipo de conteúdo do objetocom.adobe.idp.Document
. - Crie um objeto
javax.servlet.ServletOutputStream
usado para gravar o fluxo de dados de formulário no navegador da Web cliente, chamando o métodogetOutputStream
do objetojavax.servlet.h\ttp.HttpServletResponse
. - Crie um objeto
java.io.InputStream
invocando o métodogetInputStream
do objetocom.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 objetoInputStream
e transmitindo a matriz de bytes como argumento. - Invoque o método
write
do objetojavax.servlet.ServletOutputStream
para enviar o fluxo de dados de formulário para o navegador Web cliente. Passar a matriz de bytes para o métodowrite
.
- Crie um objeto
Consulte também
Renderização do HTML Forms usando arquivos CSS personalizados
Renderize um formulário HTML que use um arquivo CSS usando a API do serviço Web render-an-html-form-that-uses-a-css-file-using-the-web-service-api
Renderize um formulário HTML que use um arquivo CSS personalizado usando a API do Forms (serviço da Web):
-
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.
-
Criar um objeto de API Java do Forms
Crie um objeto
FormsService
e defina valores de autenticação. -
Referência ao arquivo CSS
- Crie um objeto
HTMLRenderSpec
usando seu construtor. - Para renderizar o formulário HTML que usa um arquivo CSS personalizado, chame o método
setCustomCSSURI
do objetoHTMLRenderSpec
e passe um valor de cadeia de caracteres que especifique o local e o nome do arquivo CSS.
- Crie um objeto
-
Renderizar um formulário HTML
Invoque o método
(Deprecated) renderHTMLForm
do objetoFormsService
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. Se você referenciar um design de formulário que faça parte de um aplicativo do Forms, certifique-se de especificar o caminho completo, como
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Um valor de enumeração
TransformTo
que especifica o tipo de preferência HTML. Por exemplo, para renderizar um formulário de HTML que seja compatível com o HTML dinâmico para o Internet Explorer 5.0 ou posterior, especifiqueTransformTo.MSDHTML
. - Um objeto
BLOB
que contém dados para mesclar com o formulário. Se não quiser mesclar dados, passenull
. (Consulte Preenchimento prévio de Forms com Layouts Fluxáveis.) - O objeto
HTMLRenderSpec
que armazena opções de tempo de execução de HTML. - Um valor de cadeia de caracteres que especifica o valor do cabeçalho
HTTP_USER_AGENT
, comoMozilla/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. - Um objeto
URLSpec
que armazena valores de URI necessários para renderizar um formulário HTML. - Um objeto
java.util.HashMap
que armazena anexos de arquivo. Este é um parâmetro opcional, e você pode especificarnull
se não quiser anexar arquivos ao formulário. - Um objeto
com.adobe.idp.services.holders.BLOBHolder
vazio preenchido pelo método(Deprecated) renderHTMLForm
. Esse valor de parâmetro armazena o formulário renderizado. - Um objeto
com.adobe.idp.services.holders.BLOBHolder
vazio preenchido pelo método(Deprecated) renderHTMLForm
. Esse parâmetro armazena os dados XML de saída. - Um objeto
javax.xml.rpc.holders.LongHolder
vazio preenchido pelo método(Deprecated) renderHTMLForm
. Esse argumento armazena o número de páginas no formulário. - Um objeto
javax.xml.rpc.holders.StringHolder
vazio preenchido pelo método(Deprecated) renderHTMLForm
. Esse argumento armazena o valor do local. - Um objeto
javax.xml.rpc.holders.StringHolder
vazio preenchido pelo método(Deprecated) renderHTMLForm
. Esse argumento armazena o valor de renderização do HTML usado. - Um objeto
com.adobe.idp.services.holders.FormsResultHolder
vazio que conterá os resultados desta operação.
O método
(Deprecated) renderHTMLForm
preenche o objetocom.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. - Um valor de cadeia de caracteres que especifica o nome de design do formulário, incluindo a extensão de nome de arquivo. Se você referenciar um design de formulário que faça parte de um aplicativo do Forms, certifique-se de especificar o caminho completo, como
-
Gravar o fluxo de dados do formulário no navegador Web cliente
- Crie um objeto
FormResult
obtendo o valor do membro de dadosvalue
do objetocom.adobe.idp.services.holders.FormsResultHolder
. - Crie um objeto
BLOB
que contenha dados de formulário invocando o métodogetOutputContent
do objetoFormsResult
. - Obtenha o tipo de conteúdo do objeto
BLOB
invocando seu métodogetContentType
. - Defina o tipo de conteúdo do objeto
javax.servlet.http.HttpServletResponse
invocando seu métodosetContentType
e transmitindo o tipo de conteúdo do objetoBLOB
. - Crie um objeto
javax.servlet.ServletOutputStream
usado para gravar o fluxo de dados de formulário no navegador da Web cliente, chamando o métodogetOutputStream
do objetojavax.servlet.http.HttpServletResponse
. - Crie uma matriz de bytes e preencha-a chamando o método
getBinaryData
do objetoBLOB
. Esta tarefa atribui o conteúdo do objetoFormsResult
à matriz de bytes. - Invoque o método
write
do objetojavax.servlet.http.HttpServletResponse
para enviar o fluxo de dados de formulário para o navegador Web cliente. Passar a matriz de bytes para o métodowrite
.
- Crie um objeto
Consulte também
Renderização do HTML Forms usando arquivos CSS personalizados
Chamada de AEM Forms usando codificação Base64