O formulário em PDF é um tipo de formulário eletrônico diferente do Lotus Forms. Ele pode ser um arquivo binário estático sem campos de interatividade ou um formulário dinâmico XML Forms Architecture (XFA) embarcado em XML. O Lotus Forms Conversion Tool 3.0 é um plug-in para Lotus Forms Designer que pode converter formulários em PDF para o Lotus Forms 3.0 automaticamente. Ele suporta arquivos estáticos em PDF e formulários dinâmicos XFA. Ele também inclui várias regras customizadas e otimizadores que podem ser aplicados no processo de conversão. Depois da conversão automática, o plug-in é necessário para atualizar manualmente os formulários convertidos para a camada de apresentação, instâncias XForms e lógica de negócios.
Este artigo oferece uma breve introdução ao projeto de migração de PDF, com uma descrição detalhada da ferramenta de conversão Lotus Forms 3.0. Ele também inclui uma lista detalhada de esforços e requisitos manuais, que é uma lista importante para dimensionamento e estimativa de projeto. Você deve estar familiarizado com o produto IBM Lotus Forms. Usuários do IBM Lotus Forms são todos bem-vindos para aprenderem e compartilharem a experiência de projeto com o projeto de serviço de formulários.
Introduzindo os formulários PDF
PDF é o acrônimo para Portable Document Format, um formato de arquivo desenvolvido pela Adobe® Systems Inc. O PDF captura informações de formatação de uma variedade de aplicativos de publicação de desktop, tornando possível enviar documentos formatados e exibi-los em um monitor ou impressora do recipiente, como planejado. Para visualizar um arquivo PDF, é necessário ter o Adobe Reader; para criar ou modificar um arquivo PDF, é necessário o Adobe Acrobat Professional ou Adobe Acrobat Designer.
O formulário PDF pode ser categorizado em dois tipos: o formulário PDF estático e o formulário PDF interativo. O formulário PDF estático é um documento PDF tradicional sem elementos interativos. O formulário é composto de elementos estáticos como texto, ponto, linha e gráfico. O arquivo é armazenado em um formato binário.
O outro tipo de formulário PDF é o formulário PDF interativo. Na especificação do PDF, há dois tipos de formulários interativos:
- AcroForm. Esse formulário, apresentado na PDF Specification 1.2, é um conjunto de campos para reunir informações do usuário de forma interativa. O conteúdo e as propriedades de um formulário interativo são definidos por um dicionário de formulários interativo que é mencionado pela entrada do AcroForm no catálogo de documentos no arquivo PDF.
- XML Forms Architecture (XFA). O XFA fornece uma gramática baseada em modelo e um conjunto de regras de processamento que permitem que os usuários construam formulários interativos. A gramática baseada em modelo define campos nos quais um usuário fornece dados. A natureza aberta do XFA fornece uma gramática XML comum para descrever formulários interativos, que é uma base comum para interações relacionadas a formulários entre aplicativos de processamento de formulários. Essa natureza aberta significa que o XFA é aplicado em uma grande variedade de negócios. Os formulários XFA fornecem uma ampla gama de recursos:
- Fluxo de trabalho. Esse tipo de formulário inclui apresentação de dados, captura de dados e edição de dados. O XFA funciona como um aplicativo de front-end para enviar dados para um servidor de backend; ele também pode ser usado para fins de impressão.
- Interações dinâmicas. Os recursos dinâmicos variam dos formulários interativos e editados por pessoas com cálculos e validações dinâmicos e outros eventos aos formulários gerados por servidor e preenchidos por máquina.
- Layout dinâmico. Os formulários podem se reorganizar automaticamente para acomodar os dados fornecidos por um usuário ou por uma origem externa de dados, como um servidor de banco de dados. Por exemplo, se os dados recuperados de um servidor possuem 100 linhas, o formulário exibe 100 linhas.
- Complexidade. Esse recurso inclui formulários estáticos de uma única página, conjuntos dinâmicos de documentos baseados no conteúdo dos dados e grandes execuções de produção contendo centenas de milhares de transações.
O XFA, um tipo de formulário interativo, é um tipo mais avançado que o AcroForm, no seguinte sentido:
- O XFA pode ser usado em fluxos de trabalho baseados em XML.
- O XFA separa dados do modelo de XFA, o que permite uma maior flexibilidade na estrutura dos dados suportados e permite que os dados sejam empacotados separadamente do formulário.
- O XFA pode especificar formulários em desenvolvimento dinamicamente.
- O XFA pode especificar interações da Web, como HTTP e Web Services Description Language (WSDL). Essas interações podem ser usadas para enviar dados ao servidor ou para solicitar que um servidor realize um cálculo e retorne o resultado.
- O XFA funciona com outras gramáticas XML.
Com base nessas informações, o XFA é muito semelhante ao Lotus Forms em natureza. A Tabela 1 mostra uma comparação detalhada.
Tabela 1. Comparando Lotus Forms e XFA
| Lista de recursos | Lotus Forms | XFA |
|---|---|---|
| Elementos | Itens, opções de Extensible Forms Description Language (XFDL), e itens, opções de XForms | Itens e opções de XFA |
| Dinâmico | Repetição de XForms | Subformulários e conjuntos de subformulários |
| Teste de validação | Nulo, tipo de dados, padrão de dados e teste de expressão regular | Nulo, tipo de dados, formato e teste de script |
| Scripts | Cálculo de XForms e cálculo de XFDL | JavaScript™ |
| Instância de dados | Instância de dados XML ou instância de dados XForms | Modelo de dados XFA |
| Chamada WebService | Suporte | Suporte |
| Assinatura digital | Assinatura digital de XFDL | Assinatura digital de XML e assinatura digital de PDF |
| API do ActiveX Data Object (ADO) | Nenhum | Suporte |
| Embarcar | Suporte embarcado em HTML | XML Data Package (XDP), embarcado em PDF |
| Layout | Local do item representado em pixels ou local relativo | Manipulado pelo processador de layout no contêiner do objeto |
| HTML | Não suportado | Suporte para embarcar fragmento de HTML |
Requisito do projeto de migração
A migração do PDF envolve converter formulários PDF existentes para Lotus Forms. Os formulários PDF podem ser estáticos ou dinâmicos. É importante ter o requisito para o projeto claramente documentado antes do início da migração, e o requisito deve fornecer detalhes no nível de elemento em cada formulário, para que o desenvolvedor do formulário possa processa cada item de acordo com instruções claras.
Normalmente o documento de requisito deve ter o seguinte conteúdo:
- Instruções gerais. Esse conteúdo é uma diretriz geral para a migração. Ele inclui o escopo da migração, lista de recursos e um resumo claro daquilo que deve ser convertido do PDF e o que não deve ser convertido.
- Formulário de modelo XFDL. Esse formulário de modelo inclui o estilo comum e componentes reutilizáveis, como barra de ferramentas, cor de pano de fundo, configurações de impressão, tamanho da fonte e cor da identificação, lista de países e estados, e assim por diante.
- Planilha detalhada para cada formulário. Para cada formulário a ser convertido, deve haver uma planilha descrevendo o conteúdo e o mapeamento entre o PDF e o XFDL, porque os elementos no Lotus Forms e PDF podem ter diferentes tipos e propriedades. Sem as informações de mapeamento, o desenvolvedor do formulário pode se perder ao tentar encontrar um tipo de item e valor de opção adequados. A Tabela 2 mostra as informações que devem ser incluídas na planilha.
Tabela 2. Informações de requisito de exemplo
| Nome da coluna | Descrição | Valor do exemplo |
|---|---|---|
| Nome do item | Identificação do elemento | Nome da agência |
| Tipo | Tipo de elemento convertido, que pode ser diferente de PDF | Grupo de verificação do campo |
| Regra do item | Tipo de dados do elemento | Números inteiros, uma escolha de seleção |
| Formato | Formato do valor, como data ou código postal | Data: MM/DD/AAAA |
| Valor padrão | O elemento deve ter um valor padrão? | Padrão 100 |
| Obrigatório | O elemento deve ser preenchido? | Sim ou não |
| Faixa | Faixa de valor, normalmente usada para valores numéricos | 1 a 100 |
| Comprimento do item | Tamanho do elemento | 20 |
| Ativar/desativar | Lógica para o recurso ativar/desativar do elemento | Desativado se a resposta para a primeira questão for sim |
| Visível/invisível | Lógica para o recurso visível/invisível do elemento | Visível se a resposta para a primeira questão for sim |
| Mensagem de ajuda | Texto de ajuda do elemento | Preencha o nome da agência. |
| SID | Elemento SID | Agency_Name |
| Nome da instância dos dados | O nome da instância dos dados ligados ao elemento | Agency_Name |
| Cálculo | Fórmula se o valor do elemento for calculado por outros elementos | =Month1+Month2 |
| Padrão | Um padrão reutilizável pode ser aplicado a esse elemento | Botão de assinatura do tipo 1 |
| Outros | Outras informações ou lógica sobre o elemento | A assinatura se aplica somente às seções 1 e 2. |
Depois que o requisito é definido e documentado, você pode realizar a migração real de PDF para Lotus Forms. Em geral, você precisa realizar duas etapas principais de migração:
- Usando a ferramenta de conversão, faça uma conversão bruta do PDF para o Lotus Forms automaticamente. A ferramenta de conversão Lotus Forms é um plug-in do Lotus Forms Designer que pode ser usado para converter formulários PDF para Lotus Forms. Usar essa ferramenta pode evitar esforços manuais para você na migração.
- Atualização manual do formulário bruto convertido. O formulário bruto convertido inclui apenas o layout e a lógica. Com base na planilha de requisito, os desenvolvedores de formulários podem verificar cada item no formulário e atualizar os itens no Forms Designer um a um.
As próximas duas seções explicam essas duas etapas em detalhes.
Ferramenta de conversão Lotus Forms
A ferramenta de conversão do IBM Lotus Forms 3.0.1 (o plug-in Forms Conversion Tool) é uma ferramentas inovadora, fácil de usar, que permite que proprietários de negócios e desenvolvedores de formulários convertam facilmente arquivos Portable Document Format (PDF) e formulários eletrônicos FileNet para Lotus Forms. Ela também pode ser usada para transformar Lotus Forms existentes. No Lotus Forms Designer, a ferramenta de conversão do Lotus Forms é embarcada como parte do Designer 3.5. Siga o link na seção Recursos para fazer o download do plug-in Forms Conversion Tool ou o download de teste do Lotus Forms Designer e instalá-lo.
Depois que a ferramenta estiver instalada, clique em File - New - Convert to Lotus Forms. A janela mostrada na Figura 1 é exibida.
Figura 1. A janela inicial Convert Forms

A Figura 1 mostra a janela de seleção de conversão da ferramenta de conversão. Clique no botão Add File para adicionar mais arquivos para conversão. Na lista de formatos, dois analisadores podem ser selecionados: PDF e FileNet Selecione o analisador de PDF para conversão de PDF. Selecione o perfil pdf_default na lista de perfis e depois clique em Next.
Figura 2. Selecionando o local do arquivo

A Figura 2 mostra a janela na qual você pode selecionar o local para armazenar os arquivos convertidos. O local padrão é a mesma pasta do arquivo PDF. Você também pode selecionar a pasta no Designer Workspace. Depois de clicar em Finish, o PDF será convertido. As Figuras 3 e 4 mostram o formulário PDF original e o formulário XFDL convertido.
Figura 3. Formulários PDF originais

Figura 4. Formulário convertido Lotus Forms

A partir dessas duas ilustrações, é possível ver que a maioria das identificações e layouts é convertida pela ferramenta.
Otimizadores e regras customizadas
Às vezes o resultado convertido não é tão bom quanto o esperado quando você usa o perfil de conversão padrão. Ao criar o arquivo de conversão customizado, é possível ajustar o processo de conversão em detalhes mais refinados. Selecione o menu Forms Designer Windows - Preferences, depois selecione Forms Conversion e Transformation Profiles no painel esquerdo da janela Preference e clique no botão New. A janela Profile Edit é exibida, como mostrado na Figura 5.
Figura 5. A janela Edit Form Conversion Profile

É possível usar essa janela para customizar o perfil de conversão de um tipo específico de arquivo. O perfil de conversão inclui o seguinte conteúdo:
- Regras de conversão. As regras são usadas para customizar o conteúdo do formulário gerado, incluindo adicionar uma barra de ferramentas de um formulário de modelo, atualizar fonte, cor e borda do elemento, mudar a regra de geração de SID e mudar as ordens de elementos na origem do XFDL.
- Geração de XForms. Essa opção é usada para selecionar a lista de controles que estão ligados à instância dos dados XForms.
- Otimizadores de layout. Os otimizadores incluem parâmetros que podem ser ajustados durante a conversão de elementos PDF para elementos XFDL, como parâmetros para criar uma caixa de seleção a partir de quatro linhas e alinhar identificações e campos. Os otimizadores são destinados a criar novos itens interativos (caixas de seleção, campos) no formulário baseado em itens estáticos (identificações, linhas) no PDF e alinhar itens existentes (identificações ou campos) no formulário.
Durante nosso projeto de migração, resumimos essas diretrizes gerais sobre como ajustar um perfil:
- Criar um perfil para cada lote de formulários. Cada lote de formulários pode ter um estilo diferente. Crie um perfil para cada lote e ajuste os parâmetros para obter o melhor resultado. O perfil pode ser exportado e importado, de modo que cada desenvolvedor de formulário poderia ter a mesma configuração de conversão.
- Se o requisito de formulário inclui regras detalhadas de XForms, você deve sugerir a desativação da geração da instância XForms porque o nome da instância gerada é baseado no SID e geralmente não se ajusta ao processamento de backend.
- Ative a opção de largura e altura padrão de "Use" se, no formulário convertido, algumas identificações estiverem truncadas porque um comprimento insuficiente está configurado para a identificação. Essa regra pode remover a largura e a altura da identificação, que usa o tamanho padrão calculado pelo visualizador do Lotus Forms.
- Desative a opção “Combine Adjacent Lines/Labels” se houver muito poucos campos gerados no formulário. A combinação de linhas e identificações afeta a geração do campo pelo otimizador “Transforme uma linha ou uma caixa em um campo”, porque ele remove algumas linhas e identificações do formulário.
Atualização manual depois da conversão automática
Na maioria das situações, os formulários convertidos automaticamente não podem ser usados diretamente porque as instâncias de dados no formulário não estão bem organizadas e o projeto de migração normalmente requer que a instância dos dados siga um certo esquema que possa ser enviado ao fluxo de processamento de backend.
A atualização manual é uma etapa necessária no projeto de migração para abranger os requisitos que faltam e que a conversão automática não pode preencher. Há algumas etapas necessárias:
- Ajuste o layout, o formato, a lógica e o SID em detalhes, com base na planilha de formulário documentada.
- Gere a instância de dados XForms e a ligação XForms com base na lógica de negócio.
- Depois da conversão automática, o elemento não convertido do PDF, como espaço de cor não reconhecido ou imagens, cria um comentário XML no XFDL. A atualização manual é requerida para limpar esses comentários ou atualizar os itens não convertidos com base nos comentários.
- Atualizar a assinatura digital com base no requisito. A autoconversão pode gerar apenas uma assinatura Clickwap.
- Atualizar o envio de dados com base no requisito. A autoconversão não manipula o envio de dados no formulário PDF original.
- Atualizar a lógica com base no Javascript do formulário PDF. A autoconversão não converte o Javascript para script XFDL.
- Atualizar elementos gráficos. No formulário PDF, pode haver elementos gráficos como uma imagem de vetor, uma linha inclinada ou uma linha curvada. Esses elementos não são suportados pelo Lotus Forms, mas podem ser substituídos usando imagens JPG ou GIF capturadas do formulário PDF.
Lista de verificação manual de QA
Depois da atualização manual, o formulário é gerado e introduzido no processo de garantia de qualidade (QA). A Tabela 3 lista os itens que foram resumidos do nosso projeto de migração e que precisam ser destacados no processo de QA.
Tabela 3. Lista de verificação de QA
| Nome | Descrição |
|---|---|
| Fonte e cor | Algumas fontes ou cores em PDF não aparecem corretamente no Lotus Forms. Você precisa verificar se há diferenças durante o processo de QA. |
| Verificação de layout | Compare o layout de formulários no visualizador do Lotus Forms ou Webform Server com o PDF original. Foque as identificações e as linhas. Por exemplo, no PDF a largura do caractere pode ser ajustada, mas, no Lotus Forms, ela é fixa. Essa discrepância pode fazer com que as identificações pareçam diferentes. |
| Verificação de impressão | Imprima o formulário convertido e o PDF. Compare os formulários impressos no papel para verificar se há discrepâncias. |
| Regra de validação de dados | Compare a validação de dados no PDF e o formulário convertido inserindo dados nos formulários. |
| Lógica de script | Compare a lógica do XFDL e do XForms com o Javascript no PDF para verificar se foi implementada corretamente no formulário convertido. |
| Parte dinâmica | Tanto o PDF quanto o XFDL suportam a geração de conteúdo dinâmico. É possível testar isso gerando um conjunto completo de dados na instância de dados. |
Em geral, o projeto de migração de PDF inclui um requisito bem definido para cada formulário, uma ferramenta automatizada de conversão de PDF e processos manuais de atualização e QA. Como parte do processo é automatizada e requer um conhecimento de PDF, ele é diferente de outros projetos do Lotus Forms, como criar formulários a partir do zero. Usar a ferramenta de conversão Lotus Forms é uma boa escolha em um projeto de migração de PDF.
Aprender
-
Consulte a documentação do produto IBM Lotus Forms.
-
Consulte a especificação XFDL.
-
Consulte XML Forms Architecture (XFA) Specification Version 2.4.
-
Consulte a documentação do Adobe Portable Document Format Version 1.7.
Obter produtos e tecnologias
-
Faça o download da versão de teste do IBM Lotus Forms Designer, que inclui a ferramenta de conversão como recurso.
Discutir
Gu Yi is é o principal engenheiro de software da Equipe de Serviços Emergentes do IBM Software Services para Lotus (ISSL) no IBM China Development Lab. Ele está envolvido em projetos do IBM Software Services desde 2005 e participou de diversos projetos de serviço envolvendo o IBM Lotus Forms. Seu foco é criar ativos de serviço que dinamizem projetos e acelerem as capacidades de entrega da IBM. Além disso, ele possui três anos de experiência trabalhando com o IBM WebSphere® Portal e quatro anos de experiência na indústria no desenvolvimento do Java™ 2 Platform, Enterprise Edition. Entre em contato com ele pelo e-mail guyi@cn.ibm.com.