Ir para o conteúdo
5 min de leitura

Formulário PDF com cálculo: como preencher sem perder a conta

Como saber se o total de um formulário PDF calcula, por que o AjustaPDF não roda o script de cálculo e em que ordem achatar sem perder a conta.

Um formulário PDF com cálculo automático tem campos que somam ou multiplicam outros campos, e essa conta é um pequeno script guardado no próprio arquivo. O preenchimento do AjustaPDF grava os valores que você digita nos campos, mas não executa esses scripts, então o campo de total fica como estava. A conta é feita pelo leitor que tem suporte a JavaScript de formulário.

Onde fica a conta

Um formulário PDF tem campos, e cada campo pode ter ações associadas: calcular, formatar, validar (campo obrigatório, máscara de CPF e ordem do Tab estão em formulário PDF obrigatório, formato e ordem do Tab). A ação de calcular é um trecho de JavaScript que o leitor executa sempre que um campo de origem muda. O campo de total não guarda a soma; ele guarda o script que a produz, e o resultado aparece só quando um leitor roda esse script.

Para saber mais sobre esses scripts e por que alguns leitores os bloqueiam, veja JavaScript dentro do PDF. Por isso o mesmo arquivo pode mostrar totais diferentes em leitores diferentes. Um leitor que roda o script preenche a soma enquanto você digita. Um leitor sem suporte mostra o campo vazio, ou mostra o último valor salvo, se ele existir. O arquivo é o mesmo; o que muda é quem executa a conta.

O que acontece no site

O preenchimento grava, para cada campo, o valor que você digitou, identificando o campo pelo nome. Ele também pode achatar o formulário, que desenha cada resposta na página. O motor não tem código para avaliar os scripts de campo, e o editor da ferramenta também não calcula nada. Então, se um campo de total existe e tem script, o valor que você vê no editor vem apenas do que foi digitado nos outros campos.

Isso não é um defeito do arquivo, é uma escolha de quem monta o formulário. Muitos formulários de órgãos e empresas têm cálculo, e o certo é ler o resultado final no leitor oficial antes de enviar, nunca confiar só no que aparece no editor.

Como verificar em cinco minutos

Um teste simples mostra se o cálculo funciona no seu formulário. Siga estes passos, nessa ordem:

  1. Abra o arquivo original no Adobe Acrobat Reader ou no Foxit, que executam os scripts de formulário.
  2. Digite valores de teste nos campos que entram na conta, usando valores cuja soma você conhece de cabeça.
  3. Confira o total. Ele deve mostrar a soma que você já sabe. Se ficar vazio ou não mudar, o cálculo não roda nesse leitor.
  4. Confira no editor do site. Se o total não aparece lá e aparece no leitor oficial, o valor é calculado pelo leitor e você precisa dele preenchido antes de achatar.

Se o total não aparece em nenhum leitor, o cálculo pode estar quebrado no formulário, ou o campo é só um espaço para você escrever. Nesse caso, some à mão e confira duas vezes, porque o leitor não vai fazer isso por você.

Achatar: quando e em que ordem

Achatar um formulário desenha as respostas na página e remove os campos. Quem recebe vê exatamente o que você preencheu, em qualquer leitor, e não consegue mudar a resposta clicando no campo. Muitos sistemas de envio pedem o formulário achatado, justamente para que nada seja alterado depois.

A consequência é direta: depois de achatar, o script não roda mais, porque o campo não existe. Por isso a ordem importa. Primeiro preencha, depois confira o total no leitor oficial, e só então achate. Se você achatar um formulário com o total vazio, o total continua vazio no arquivo final, e para corrigir é preciso voltar ao original e preencher de novo.

SituaçãoO que aconteceO que fazer
Total vazio num leitor sem suporteCampo não calculaPreencher no Acrobat Reader ou no Foxit
Achatar antes de calcularTotal vira texto fixo, com o valor que estavaCalcular e conferir antes de achatar
Formulário com camada XFAA camada XFA é removida; os campos comuns ficamConferir se os campos comuns mostram os valores
Escaneado sem camposNão há campo para preencherEscrever por cima das linhas com editar PDF

Formulários antigos do Adobe

Alguns formulários foram feitos no Adobe LiveCycle e trazem uma camada XFA, que só o Adobe Reader mostra. O site remove essa camada ao preencher, e os campos comuns que ficam por baixo são os que outros leitores exibem. Se o seu formulário depende da camada XFA para calcular, a conta pode não aparecer depois da remoção. Teste antes, usando o leitor oficial do órgão ou da empresa quando houver um. A diferença entre os dois tipos de formulário está em AcroForm e XFA. Para testar outro leitor, veja Foxit Reader ou Adobe Reader para preencher formulário.

O guia sobre formulário em PDF que não salva o preenchimento trata do caso em que os valores somem ao salvar, e o guia sobre achatar PDF de formulário explica o que muda no arquivo.

Conferir antes de enviar

Um formulário com cálculo é responsabilidade de quem envia. Antes de mandar, abra o arquivo final num leitor diferente do que você usou para preencher, confira cada soma e cada campo obrigatório, e guarde uma cópia do formulário preenchido. Se o destino recusar o arquivo ou receber o formulário sem as respostas, o guia PDF preenchido chega vazio lista as causas, e a cópia mostra exatamente o que foi enviado.

Para preencher e salvar com as respostas fixas, use a ferramenta de preencher PDF. Se o formulário tem muitos campos de cálculo e o total é o que importa, o caminho é conferir a soma num leitor oficial e só então escolher entre manter os campos editáveis ou achatar. Para editar o texto em volta dos campos, a ferramenta de editar PDF cobre o caso.

Perguntas frequentes

Por que o campo de total do meu formulário PDF não se preenche sozinho?

Porque a conta fica num script guardado no campo, e esse script só roda em leitores com suporte a JavaScript de formulário, como o Adobe Acrobat Reader e o Foxit. O preenchimento do AjustaPDF grava os valores que você digita, mas não executa o script, então o total fica como estava.

Como sei se um formulário PDF tem cálculo automático?

Abra o arquivo no Adobe Acrobat Reader ou no Foxit, digite um valor num dos campos que entram na conta e veja se o total muda. Se o total não muda, ele não tem cálculo, ou o leitor não está executando o script. Nas propriedades do campo do total, procure a aba de cálculo.

Posso achatar o formulário depois de calcular o total?

Pode, e essa é a ordem certa quando o total precisa ficar fixo. Achatar transforma os valores em texto da página e remove os campos, então o cálculo não roda mais depois. Preencha, confira o total no leitor e só então achate.

Um formulário escaneado pode ter cálculo?

Não. Um escaneado é só uma imagem, sem campos nem scripts. Para escrever valores nele, use a ferramenta de editar PDF e escreva por cima das linhas. A soma, nesse caso, é feita à mão e conferida antes de enviar.