Mit Adobe Acrobat lassen sich nicht nur schöne, sondern auch sehr funktionale Formulare erstellen. Andreas Burkard zeigt, wie sogar Berechnungen direkt im Formular gemacht werden können.
PDF-Formulare können Felder berechnen. Damit können Sie beispielsweise ein Berechnungsformular erstellen. In diesem Blog-Beitrag zeige ich Ihnen, wie Sie ein solches Berechnungsformular erstellen, das zusätzlich die Mehrwertsteuer errechnet und zu einem Gesamttotal führt.
Zuerst wird im Formularmodus in Acrobat auf dem PDF-Dokument ein Textfeld erstellt. Das Textfeld sollte einen klaren Feldnamen aufweisen.
Im Register Erscheinungsbild kann das Aussehen und die Schrift der Feldeingaben bestimmt werden. Bei den Schriften sollte man Zeichensätze verwenden, die auf allen Rechnern vorhanden sind, wie beispielsweise die vorgeschlagene Helvetica.
Im Register Optionen kann man die Textausrichtung definieren. Hier sollte man ferner die Option Bildlauf bei langem Text deaktivieren, da ansonsten bei langer Eingabe ein nicht druckbarer Überlauf des Textes resultieren kann.
Im Register Format kann man die Kategorie Zahlen auswählen, sodass nur Zahlen – und keine Buchstaben – in ein zu berechnendes Textfeld eingegeben werden können. Ferner kann man die Dezimalstellen auf 2 einstellen und eine länderspezifische Darstellung der Trennzeichens verwenden. Ein Währungssymbol im Textfeld rundet die Formatierung des ersten Textfelds ab.
Um nun mehrere Textfelder in gleicher Darstellung zu erhalten, verwendet man im Formularmodus von Acrobat den Befehl Mehrere Kopien erstellen. Die Felder erben die Einstellung und werden automatisch unbenannt.
Im abgebildeten Beispiel werden im Feld mit dem Text Nettobetrag die Preise von vier Artikeln addiert.
Dazu wählt man in den Texteigenschaften des Textfelds Netto das Register Berechnung aus. Hier aktiviert man erst mal die Option Wert ist die Summe (+). Danach klickt man auf Auswählen und wählt im Fenster Feldauswahl nur die Feldbezeichnungen aus, die von der Addierung betroffen sind. In der Vorschau kann man jeweils die Ergebnisse testen.
Die Berechnung der Mehrwertsteuer wird mit einer vereinfachten Feldbezeichnung vorgenommen. Dazu wählt man in den Textfeldeigenschaften > Berechnung > Vereinfachte Feldbezeichnung aus und klickt danach auf Bearbeiten. Der JavaScript-Editor öffnet sich.
In diesem Beispiel lautet das Skript Netto*0.08. Das Textfeld der Mehrwertsteuer mit dem Textfeldnamen MwSt. multipliziert die Werte des Textfelds mit 0.08. Das heisst, der Betrag wird durch 100 geteilt und mit 8 multipliziert. Dies entspricht dem aktuellen Satz der Mehrwertsteuer in der Schweiz.
Der Bruttobetrag ist das Ergebnis des Nettobetrags plus die Mehrwertsteuer. Die beiden Textfelder müssen wiederum addiert werden. Dazu verwendet man in den Textfeld-Eigenschaften des Textfelds Brutto, Register Berechnung, wiederum die Option Wert ist die Summe (+), klickt auf Auswählen und wählt in diesem Beispiel in der Feldauswahl die beiden Textfelder Netto und MwSt. aus.
Ändert man Feldnamen, müssen die Berechnungen neu aufgebaut werden. Auch wenn die Namen im Nachhinein doch wieder gleich lauten.
PS: In einem nächsten Beitrag zeige ich Ihnen dann, wie Sie mit Hilfe eines JavaScripts die Problematik der Rundungsdifferenz lösen.
19 Kommentare
Hallo
Können Sie mir helfen? Ich brauche ein Feld das die Monate x 12 ausrechnet also ein Jahr. Das Textfeld*12 das klappt nicht im Java Script.
Ich freue mich auf Ihre Antwort.
Klappt nicht. Die Felder lassen sich nur alle auswählen. Einzeln sind sie nicht ansteuerbar.
Hallo zusammen
Wollte gerade eben die Funktion dividieren eingeben, aber das geht nicht.
Wer kann mir helfen um ein Feld mit einem anderen Feld zu dividieren?
Die Rechnung lautet:
Reisespesen 24 Tage : 24 Tage = Reisespesen pro Tag
Würde mich über eine Rückmeldung freuen.
Beste Grüsse Elmar
Der Rechnungsbetrag muss mit Punkt . und nicht mit Komma , eingegeben werden
evtl. klappt es dann
Hallo, leider habe ich für noch keine passende Lösung für folgendes Problem gefunden. In unserem Hochschulshop bieten wir mehrere Artikel an. Dafür habe ich ein Formular erstellt. Wie muss die Formel unten in der Summe lauten, wenn ich zwei von diesem und drei von jenem Artikel kaufe? Für eine Antwort bin ich sehr dankbar!
Hallo,
ich möchte gerne ein Rechenergebnis runden. Zum Beispiel:
219.565,66 € auf rd. 220.000,00 € oder 219.333,85 € auf 219.000,00 €.
Wie mache ich das?
Grüße aus Gütersloh
Hallo und vielen Dank für den Beitrag – nach langem Suchen bin ich meinem Ziel endlich einen Schritt weitergekommen 🙂
Nun habe ich aber folgende Herausforderung zu lösen. Ich muss eine Tabelle erstellen bei welcher die Experten Punkte eintragen können. Total sind es 4 Spalten. Die erste verteilt jeweils -3 Pt, die Zweite -1 Pt, die Dritte 0 und die Vierte +2 Punkte.
Kann ich das Formularfeld so einstellen, dass die jeweilige Punktevergabe automatisch angezeigt wird? Also wenn ein Experte zB die 1 drückt in der 1. Spalte dann gleich -3 angezeigt wird?
Und gibt es eine Möglichkeit, dass ich den Notenschlüssel (erreichte Punkte = erreichte Note) integrieren kann, so dass es am Schluss direkt die Note berechnet? Ohhh das wäre so super 😀
Vielen Dank!!! Hat mir sehr geholfen!!!
Hallo, und danke für diesen Artikel. Ich bin Adobe-Neuling und habe eine Frage: Kann ich ein ausfuellbares PDF Formular, welches aehnliche Berechnung durchführen soll, erstellen und dann mit PDF-Expert auf dem iPad verwenden? Funktionieren die Berechnung dann noch?
Hallo
Ich muss ein Formularfeld haben, dass mir eine Summe aus anderen Feldern berechnet, soweit so gut,
welches ich aber danach auch MANUELL verändern kann. Geht das?
Besten Dank
Livia
Hallo Livia
Das sollte grundsätzlich/technisch kein Problem sein. Jedoch ist dabei folgendes zu bedenken: Beim [Berechten-Feld] ist hinterlegt, aus welchen Werten es berechnet werden soll. Diese Berechnung wird immer wieder durchgeführt, damit im [Berechten-Feld] auch immer der “richtige” Wert drin steht. Wenn der Wert des [Berechten-Feld]s manuell geändert wird, mag das kurzfristig klappen, wird aber wahrscheinlich von der hinterlegten Berechnung dann immer wieder überschrieben. Somit würde ich behaupten, dass es technisch zwar möglich ist, aber praktisch leider nicht ganz einfach. Die Lösung müsste man in JavaScript realisieren, sich dabei irgendwie “merken”, ob das Feld manuell verändert wurde und dann nicht mehr neu berechnen lassen. Es würde hier in einem ersten Schritt sicher bedingen, dass deinen Anforderungen (=Logik) genauer beschrieben wird: Ab wann soll sich der Wert nicht mehr berechnen? Dann für immer unberechnet bleiben? Wenn man einen Wert, der für die Berechnung herangezogen wird, anpasst soll der manuell geänderte Wert bleiben? Oder neu berechnet werden? …? …?
Auf jeden Fall empfehle ich, sich zu überlegen, ob das Projekt nicht lieber mit Adobe LiveCycle Designer bzw. AEM Forms Designer umgesetzt werden sollte, da dort die Möglichkeiten zur Umsetzung komplexer JavaScript-Berechnungen deutlich umfangreicher/angenehmer sind.
Hallo ich muss folgende Formel im PDF Skript haben wie kann ich das machen zum Berechnen:
aus Excel in PDF
=WENN(B16>0;((B16*0,5)+(B16*0,8*0,5)+10)-M15;0)
Hallo!
Da benötigt man JavaScript ähnlich wie im Blogbeitrag http://news.digicomp.ch/de/2014/10/07/adobe-acrobat-runden-in-pdf-formularen/ beschrieben.
Das Script wäre dann einfach:
var B16 = this.getField(“B16”).value;
var M15 = this.getField(“B16”).value;
if (B16 == 0) {
this.value = ((B16*0,5)+(B16*0,8*0,5)+10)-M15;
} else {
this.value = 0;
}
Danke das ist super gut…
Eine Frage habe ich… ich gebe in eine Feld ein Datum ein und in einem anderen soll automatisch der nächste Tag (Datum) angezeigt werden.
Wie kann ich das realisieren?
Vielen Dank
Hallo
Ich habe das gleiche Problem wie Lukas Meier. Der Test in einem neuen Dokument, mit neuen Felder, wie auch die Kontrolle wegen Updates hat keinen Erfolg gebracht.
Hat jemand noch eine andere Idee, was da los ist?
Ich arbeite mit Adobe Acrobat Standard DC.
Hallo!
Danke für die gute Beschreibung. Leider gelingt mir das Ganze im Acrobat Pro X noch nicht so recht.
Aus mir unerfindlichen Gründen klappt die Auswahl über “Eigenschaften” > “Berechnung” > “Wert ist “Summe (+)” der folgenden Felder” > “Auswählen” partout nicht. Alle zur Auswahl stehenden Felder werden zwar angezeigt, aber ich kann keinen Haken dran setzten…
Das ist für mich nicht nachvollziehbar, seltsam und ärgerlich. Könenn Sie mir da weiterhelfen?
Hallo,
ich hatte das gleiche Problem. Habs aber jetzt gelöst. Ihr müßt das Feld genau links unten anklicken, dann nimmt es den Hacken an.
Gruss Hans
Scheint ein Adobe (X) Bug zu sein, Felder neu erstellen ist aber definitiv NICHT Notwendig, es reicht nach der Auswahl der druck auf die Leertaste damit sie markiert werden
Hallo!
Gerne antworte ich (ebenfalls Kursleiter für Acrobat):
Das gibt es manchmal (leider). Handelt sich scheinbar um einen Bug in Acrobat. Manchmal genügt es, sicherzustellen, dass die neuesten Updates für Acrobat installiert sind. Oft ist es aber so, dass die entsprechenden Felder neu erstellt werden müssen.
Tipp: In einem neuen Dokument einfach mal mit 2 Feldern testen. Wenn’s klappt, sich an das “grosse” Projekt machen. Wenn nicht, liegt “der Hund” irgendwo anders begraben. 🙁