Existem diversas abordagens para incorporar cálculos complexos em um documento PDF, mantendo a clareza e o design sofisticado. Vamos explorar como inserir fórmulas condicionais em seus próximos arquivos.
Implementando Fórmulas Condicionais no Acrobat
Já abordamos anteriormente os princípios básicos para a automatização de cálculos no Adobe Acrobat. As fórmulas condicionais ampliam essa funcionalidade, permitindo a criação de cálculos mais avançados em seus PDFs.
Se você já utilizou fórmulas no Excel ou no Google Sheets, provavelmente já está familiarizado com as fórmulas condicionais. Também conhecidas como fórmulas lógicas, elas exibem um valor específico ou realizam um cálculo caso uma determinada condição seja atendida. Por exemplo, se um número for negativo, ou se uma pontuação exceder a nota de aprovação. Algumas das fórmulas condicionais mais comuns no Excel incluem o clássico “SE”, bem como “SOMA SE” e “CONT.SE”. Existe também a formatação condicional, onde a aparência de uma célula é modificada se ela satisfizer uma condição específica.
Utilizando campos calculados, essas mesmas funcionalidades podem ser aplicadas em documentos PDF da Adobe. É possível exibir números, texto ou realizar cálculos com base nos dados fornecidos em outros campos de entrada. Esses campos calculados podem também ser utilizados em conjunto. Fórmulas condicionais são particularmente úteis em diversos tipos de formulários PDF, como:
Documentos financeiros: Por exemplo, se o valor do principal determinar a taxa de juros, uma fórmula condicional pode ser utilizada para exibir a taxa correta, dependendo do valor introduzido.
Testes e exames: É possível criar uma avaliação que mostre automaticamente “aprovado” ou “reprovado” no final, com base na pontuação alcançada pelo candidato.
Vendas: Em transações comerciais, um campo pode sugerir produtos com base nas respostas dadas por um potencial cliente.
É importante notar que, embora os campos calculados só possam ser criados no Adobe Acrobat, os resultados dos cálculos serão visíveis em qualquer leitor de PDF.
Criando Declarações Condicionais Simples
Campos calculados customizados no Adobe Acrobat utilizam JavaScript como linguagem de programação. No entanto, para criar um campo condicional básico, não é necessário ter conhecimento em programação JavaScript. Basta seguir um padrão básico.
Para exemplificar, vamos utilizar um formulário de pedido simples. Atualmente, ele possui sete campos: um para a quantidade de cada um dos cinco produtos, um para a quantidade total e um para o preço total.
Uma declaração condicional em JavaScript no Adobe segue esta sintaxe fundamental:
var nomeVariavel = this.getField(“nomeDoCampo”).valor;
if( condicaoDaVariavel ) event.value = resultadoVerdadeiro
else event.value = resultadoFalso
A primeira linha atribui um valor a ser usado na sua fórmula condicional. Neste caso, usamos “this.getField” para extrair o valor de outro campo do documento. Na segunda linha, define-se a condição. Semelhante ao Excel, a condição é especificada como sendo maior, menor ou igual a um valor específico.
Por último, definimos os resultados. O resultado “verdadeiro” é o valor que será exibido se a condição for cumprida. Na linha seguinte, usamos “else” para definir o resultado “falso”, que será mostrado caso a condição não seja atendida.
Para colocar em prática, criamos um campo calculado chamado “Pedido em Massa”. Para inserir um script calculado, clique com o botão direito no campo escolhido no Acrobat e selecione “Propriedades”. A partir daí, acesse “Calcular > Script de cálculo personalizado > Editar”.

Este campo determinará se um pedido é considerado como “em massa”. A caixa exibirá “Sim” se a quantidade total for superior a 20 itens, e “Não” se for inferior a 20. Considerando essas condições, temos a seguinte fórmula:
var TQ = this.getField(“Quantidade Total”).value;
if( TQ > 20) event.value = “Sim”
else event.value = “Não”
Na imagem acima, a variável “TQ” foi definida e extrai o seu valor do campo “Quantidade total”. É crucial notar que os nomes dos campos são sensíveis a maiúsculas e minúsculas. A condição foi definida como TQ maior que 20. Se esta condição for satisfeita, o campo exibirá “Sim”. Caso contrário, será exibido “Não”.
Se forem solicitados 11 cabos Lightning e 10 bancos de baterias, teremos um total de 21 itens. Este será então considerado um pedido em massa e gerará o seguinte resultado:

Múltiplas Condições
Em algumas situações, pode ser necessário que mais de uma condição seja atendida. Felizmente, existe um método para criar campos condicionais que exibem valores com base em várias condições.
Suponhamos que, na sua loja, todos os pedidos de, no mínimo, 20 produtos e com um preço total de 150 sejam elegíveis para um desconto de 10%. O valor final apareceria num campo chamado “Total com desconto”. Neste caso, seria preciso especificar duas variáveis e duas condições. O campo seria o seguinte:
var Preco = this.getField(“Preço Inicial”).value;
var TQ = this.getField(“Quantidade Total”).value;
if( Preco > 150 && TQ > 20 ) event.value = Preco*0.9;
else event.value = Preco;
Como pode ser visto, foram definidas duas variáveis em linhas separadas. A notação “&&” é utilizada para unir as duas condições distintas. O valor final é um cálculo que leva em conta o desconto.
Portanto, se utilizarmos o mesmo exemplo do anterior, obteríamos o seguinte resultado:
Ordem dos Cálculos
Um ponto crucial a considerar é a ordem dos cálculos. Ao contrário do Excel, que processa cálculos de forma simultânea, o Acrobat depende do usuário para definir a sequência em que as fórmulas serão executadas.
Para definir a ordem do cálculo, acesse a barra lateral “Editar formulário” e clique em Mais > Definir ordem de cálculo do campo. No exemplo acima, as fórmulas para “Pedido em massa” e “Total com desconto” dependem da “Quantidade total” e do “Preço total”. Portanto, é preciso garantir que TQ e TP sejam calculados primeiro.
Certifique-se de rever a ordem dos cálculos antes de publicar o seu formulário. É uma boa prática experimentar com algumas entradas de amostra no seu formulário para verificar se tudo funciona corretamente.