Existem várias maneiras de criar cálculos complexos em um arquivo PDF limpo e elegante. Veja como integrar fórmulas condicionais em seu próximo documento.
Índice
Fórmulas condicionais no Acrobat
Anteriormente, cobrimos os fundamentos dos cálculos automáticos no Adobe Acrobat . As fórmulas condicionais permitem que você vá além do básico, criando fórmulas mais complexas em um PDF.
Se você usa fórmulas no Excel ou no Planilhas Google, provavelmente já sabe o que são fórmulas condicionais. Também chamadas de fórmulas lógicas, elas exibem um valor específico ou ativam um cálculo se uma determinada condição for atendida, como se um número for negativo ou se uma pontuação estiver acima da nota de aprovação. Algumas das fórmulas condicionais mais comuns no Excel incluem o padrão “IF”, bem como “SUMIF” e CONT.SE. ” Também existe a formatação condicional , em que alterações no formato são feitas se uma célula atender a uma determinada condição.
Usando campos calculados, esses tipos de fórmulas também podem ser aplicados em Adobe PDFs. Você pode exibir um número, texto ou executar um cálculo com base nos resultados de outra caixa de entrada. Você também pode usá-los em conjunto com outros campos calculados. As fórmulas condicionais são úteis para muitos tipos de formulários PDF, como:
- Documentos financeiros: por exemplo, se o principal determina a taxa de juros de alguém, uma fórmula condicional pode ser usada para exibir o preço correspondente com base no valor inserido.
- Testes e exames: você pode fazer uma avaliação que mostre automaticamente “aprovado” ou “reprovado” no final com base na pontuação total do candidato.
- Vendas: se você estiver usando isso para transações, pode fazer uma caixa que recomenda produtos, dependendo das respostas de um comprador em potencial a perguntas específicas.
Observe que, embora os campos calculados só possam ser feitos no Adobe Acrobat, os cálculos reais serão exibidos em qualquer leitor de PDF.
Criação de declarações condicionais simples
Os campos calculados personalizados do Adobe Acrobat usam javascript como linguagem de programação. Felizmente, você não precisa saber programar em javascript para criar um campo condicional simples; você só precisa de um padrão básico a seguir.
No exemplo a seguir, usaremos este formulário simples de pedido da empresa. Atualmente, possui sete campos: um para as quantidades de cada um dos cinco produtos, a quantidade total e o preço total.
Uma declaração condicional em Adobe javascript segue esta sintaxe básica:
var variable name = this.getField("name of field").value;
if( variable name condition) event.value = true result
else event.value = false result
A primeira linha define o valor que será usado para sua fórmula condicional. Neste caso particular, usamos o “this.getField” para obter o valor de um dos outros campos do documento. Na segunda linha, definimos a condição. Semelhante ao excel, especificamos a condição como sendo maior, menor ou igual a um determinado valor.
Por fim, definimos os resultados. O verdadeiro resultado é o valor que será exibido se a condição for atendida. Na próxima linha, usamos “else” para gerar o resultado falso, que é o valor que será exibido se a condição não for atendida.
Para colocar isso em prática, criamos um campo calculado chamado “Pedido em massa”. Para inserir um script calculado personalizado, clique com o botão direito do mouse no campo escolhido no Acrobat e selecione “Propriedades”. A partir daqui, vá para “Calcular> Script de cálculo personalizado> Editar”.
Este campo determinará se um pedido conta ou não como em massa. A caixa exibirá “Sim” se a quantidade total for maior que 20 itens e “Não” se for menor que 20. Considerando essas condições, temos a fórmula:
var TQ = this.getField("Total Quantity").value;
if( TQ > 20) event.value = "Yes"
else event.value = "No"
Na imagem acima, você pode ver que definimos o nome da variável como “TQ” e extraímos o valor de TQ do campo “Quantidade Total”. Observe que esses campos diferenciam maiúsculas de minúsculas. Em seguida, definimos nossa condição, que é que TQ deve ser maior que 20. Se atender a essa condição, será exibido “Sim”. Caso contrário, a caixa irá gerar “No.”
Se encomendássemos um total de 11 cabos para raios e 10 bancos de baterias, por exemplo, teríamos um total de 21 itens. Isso seria considerado um pedido em massa e geraria o seguinte resultado:
Condições Múltiplas
Há casos em que você pode desejar que várias condições sejam atendidas, em vez de apenas uma. Felizmente, existe uma maneira de criar um campo condicional que gera valores com base em várias condições.
Digamos que em sua loja todos os pedidos que cheguem a pelo menos 20 produtos e tenham um preço total de 150 tenham direito a um desconto de 10%. O valor final aparecerá em um campo chamado “Total com desconto”. Nesse caso, teríamos que especificar duas variáveis e duas condições. Teríamos o seguinte campo:
var Price = this.getField("Initial Price").value;
var TQ = this.getField("Total Quantity").value;
if( Price > 150 && TQ > 20 ) event.value = Price*0.9;
else event.value = Price;
Como você pode ver, definimos duas variáveis em duas linhas separadas. Você também terá que usar a notação “&&” para combinar as duas condições diferentes. Observe que o valor final também é um cálculo que leva em consideração o desconto.
Portanto, se usarmos o mesmo total do exemplo acima, geraremos o seguinte resultado:
Pedidos de Cálculo
Uma consideração importante que você deve fazer é a ordem de cálculo. Ao contrário do Excel, que processa cálculos simultaneamente, o Acrobat depende do usuário para determinar quais fórmulas vêm primeiro.
Para definir a ordem de cálculo, vá para a barra lateral “Editar formulário” e navegue até Mais> Definir ordem de cálculo do campo. No exemplo acima, como as fórmulas para Pedido em massa e Total com desconto dependem da Quantidade total e do Preço total, queremos ter certeza de que TQ e TP são calculados primeiro.
Certifique-se de revisar a ordem de cálculo antes de publicar seu formulário. É uma boa ideia tentar algumas entradas de amostra em seu formulário para ter certeza de que tudo está funcionando corretamente.