Er zijn verschillende manieren om complexe berekeningen te maken in een schoon, elegant PDF-bestand. Hier leest u hoe u voorwaardelijke formules in uw volgende document kunt integreren.
Voorwaardelijke formules in Acrobat
We hebben eerder de basisprincipes van automatische berekeningen in Adobe Acrobat behandeld. Met voorwaardelijke formules kunt u verder gaan dan de basis en complexere formules in een PDF maken.
VERWANT: PDF-formulieren maken met berekeningen in Adobe Acrobat
Als u formules in Excel of Google Spreadsheets gebruikt, weet u waarschijnlijk al wat voorwaardelijke formules zijn. Ook wel logische formules genoemd, ze geven een bepaalde waarde weer of activeren een berekening als aan een bepaalde voorwaarde is voldaan, bijvoorbeeld als een getal negatief is of als een score boven het voldoende is. Enkele van de meest voorkomende voorwaardelijke formules in Excel zijn de standaard ‘ALS’, ‘SUMIF’ en AANTAL.ALS. ‘ Er is ook voorwaardelijke opmaak, waarbij de opmaak wordt gewijzigd als een cel aan een bepaalde voorwaarde voldoet.
Met behulp van berekende velden kunnen dit soort formules ook worden toegepast in Adobe PDF’s. U kunt een getal of tekst weergeven of een berekening uitvoeren op basis van de resultaten van een ander invoervak. U kunt ze ook gebruiken in combinatie met andere berekende velden. Voorwaardelijke formules zijn handig voor veel soorten PDF-formulieren, zoals:
- Financiële documenten: Als de hoofdsom bijvoorbeeld iemands rentetarief bepaalt, kan een voorwaardelijke formule worden gebruikt om de bijbehorende prijs weer te geven op basis van het bedrag dat ze invoeren.
- Tests en examens: U kunt een beoordeling maken waarbij aan het einde automatisch “geslaagd” of “niet geslaagd” wordt weergegeven op basis van de totale score van de testpersoon.
- Verkoop: Als u dit voor transacties gebruikt, kunt u een doos maken die producten aanbeveelt, afhankelijk van de antwoorden van een potentiële koper op specifieke vragen.
Houd er rekening mee dat hoewel berekende velden alleen in Adobe Acrobat kunnen worden gemaakt, de daadwerkelijke berekeningen in elke PDF-reader worden weergegeven.
Eenvoudige voorwaardelijke verklaringen maken
De aangepaste berekende velden van Adobe Acrobat gebruiken javascript als programmeertaal. Gelukkig hoeft u niet te weten hoe u in javascript moet programmeren om een eenvoudig voorwaardelijk veld te maken; je hebt alleen een basispatroon nodig om te volgen.
In het volgende voorbeeld gebruiken we dit eenvoudige bestelformulier voor het bedrijf. Dit heeft momenteel zeven velden: één voor hoeveelheden van elk van de vijf producten, de totale hoeveelheid en de totale prijs.
Een voorwaardelijke verklaring in Adobe Javascript volgt deze basissyntaxis:
var variable name = this.getField("name of field").value;
if( variable name condition) event.value = true result
else event.value = false result
De eerste regel definieert de waarde die wordt gebruikt voor uw voorwaardelijke formule. In dit specifieke geval hebben we het “this.getField” gebruikt om de waarde van een van de andere velden in het document te verkrijgen. Op de tweede regel definiëren we de conditie. Net als bij Excel specificeren we de voorwaarde als groter dan, kleiner dan of gelijk aan een bepaalde waarde.
Ten slotte definiëren we de resultaten. De echt resultaat is de waarde die wordt weergegeven als aan de voorwaarde is voldaan. Op de volgende regel gebruiken we “else” om het vals resultaat, dat is de waarde die wordt weergegeven als niet aan de voorwaarde wordt voldaan.
Om dit in praktijk te brengen, hebben we een berekend veld gemaakt met de naam ‘Bulkbestelling’. Om een aangepast berekend script in te voeren, klikt u met de rechtermuisknop op het gekozen veld in Acrobat en selecteert u “Eigenschappen”. Ga vanaf hier naar ‘Berekenen> Aangepast berekeningsscript> Bewerken’.
Dit veld bepaalt of een bestelling al dan niet als bulk telt. In het vak wordt “Ja” weergegeven als de totale hoeveelheid groter is dan 20 artikelen en “Nee” als het minder is dan 20. Gezien deze omstandigheden hebben we de formule:
var TQ = this.getField("Total Quantity").value;
if( TQ > 20) event.value = "Yes"
else event.value = "No"
In de bovenstaande afbeelding kunt u zien dat we de variabelenaam hebben ingesteld op ‘TQ’ en de waarde van TQ hebben opgehaald uit het veld ‘Totale hoeveelheid’. Houd er rekening mee dat deze velden hoofdlettergevoelig zijn. Vervolgens stellen we onze voorwaarde in, namelijk dat TQ groter moet zijn dan 20. Als het aan deze voorwaarde voldoet, wordt ‘Ja’ weergegeven. Anders genereert het vak ‘Nee’.
Als we bijvoorbeeld in totaal 11 Lightning-kabels en 10 accubanken zouden bestellen, zouden we in totaal 21 items hebben. Het zou dan als een bulkbestelling worden beschouwd en het volgende resultaat opleveren:
Meerdere voorwaarden
Er zijn gevallen waarin u wellicht aan meerdere voorwaarden wilt voldoen in plaats van slechts één. Gelukkig is er een manier om een voorwaardelijk veld te maken dat waarden genereert op basis van meerdere voorwaarden.
Stel dat in uw winkel alle bestellingen die minimaal 20 producten bereiken en een totale prijs van 150 hebben, in aanmerking komen voor een korting van 10%. Het uiteindelijke bedrag wordt weergegeven in een veld met de naam ‘Totaal met korting’. In dat geval zouden we twee variabelen en twee voorwaarden moeten specificeren. We zouden het volgende veld hebben:
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;
Zoals u kunt zien, hebben we twee variabelen op twee afzonderlijke regels gedefinieerd. U zult ook de “&&” -notatie moeten gebruiken om de twee verschillende voorwaarden te combineren. Houd er rekening mee dat de eindwaarde ook een berekening is die rekening houdt met de korting.
Daarom, als we hetzelfde totaal gebruiken als in het bovenstaande voorbeeld, zouden we het volgende resultaat genereren:
Berekeningsopdrachten
Een belangrijke overweging die u moet maken, is de volgorde van de berekening. In tegenstelling tot Excel, dat berekeningen tegelijkertijd weergeeft, vertrouwt Acrobat op de gebruiker om te bepalen welke formules het eerst komen.
Om de berekeningsvolgorde in te stellen, gaat u naar de zijbalk “Formulier bewerken” en navigeert u naar Meer> Volgorde veldberekening instellen. Omdat in het bovenstaande voorbeeld de formules voor Bulkbestelling en Totaal met korting beide afhankelijk zijn van Totale hoeveelheid en Totale prijs, willen we ervoor zorgen dat TQ en TP eerst worden berekend.
Zorg ervoor dat u de berekeningsvolgorde bekijkt voordat u uw formulier publiceert. Het is een goed idee om een paar voorbeeldinvoer op uw formulier uit te proberen om er zeker van te zijn dat alles correct werkt.