Adobe Acrobat Pro DC Formularberechnung (Javascript)

Adobe Acrobat Pro DC Formularberechnung (Javascript) | PSD-Tutorials.de

Erstellt von exil-ösi, 24.02.2020.

  1. exil-ösi

    exil-ösi Noch nicht viel geschrieben

    Dabei seit:
    24.02.2020
    Beiträge:
    3
    Geschlecht:
    männlich
    Adobe Acrobat Pro DC Formularberechnung (Javascript)
    Ein Hallo in die Runde,

    ich möchte gerne mittels PDF-Formular einen Leistungsrechner für Heizleistungen erstellen. D.h.: die Heizleistung wird nach einer Norm angegeben, unter Annahme, dass die Vorlauftemperatur 75°C und die Rücklauftemperatur 65°C beträgt, dies bei einer angenommenen Raumtemperatur von 20°C.
    Besitzt man nun über bspw. weniger Temperatur im Vorlauf und Rücklauf als in der Norm angenommen, so reduziert sich die tatsächliche Heizleistung. Die tatsächliche Leistung kann ~ berechnet werden.

    Da ich mich mit Javascript nicht auskenne, habe ich mich diesbezüglich schon etwas (vermeintlich) schlau gemacht, komme aber leider nicht weiter. Um die geänderte Leistung zu berechnen sind einige Rechenschritte notwendig, welche sich im Excel einwandfrei vorbereiten lassen. Diese habe ich nun auf das benutzerdefinierte Berechnungsskript adaptiert. Leider erhalte ich völlig unterschiedliche bzw. falsche Ergebnisse. Gibt es im „Benutzerdef. Berechnungsskript“ eine Hierarchie, welche nicht von Klammen beeinflusst wird?

    Skript:
    var A = this.getField("EN442WATT");
    var B = this.getField("EFFVL");
    var C = this.getField("EFFRL");
    var D = this.getField("EFFTEMP");
    event.value = (Math.pow(((((B.value+C.value)/2)-D.value)/((75+65/2)-20)),1.275))*A.value

    var A zieht sich die Leistung nach Norm
    var B die tatsächliche Vorlauftemperatur
    var C die tatsächliche Rücklauftemperatur
    var D die tatsächliche Raumtemperatur

    Das Skript sollte nun folgendes berechnen (wobei die Raumtemperatur für gewöhnlich gleichbleibend ist):
    =(((((TATSÄCHLICHE VORLAUFTEMPERATUR+TATSÄCHLICHE RÜCKLAUFTEMPERATUR)/2)-TATSÄCHLICHE RAUMTEMPERATUR)/(((VORLAUFTEMPERATUR NACH NORM+RÜCKLAUFTEMPERATUR NACH NORM)/2)-RAUMTEMPERATUR NACH NORM))^1,275)*LEISTUNG NACH NORM

    Bin dankbar über jeden Input
    Flo
     
    #1      
  2. TutKit

    TutKit Vollzugriff

    Vollzugriff auf sämtliche Inhalte für Photoshop, InDesign, Affinity, 3D, Video & Office

    Suchst du einen effektiven Weg, um deine Geschäftsideen aber auch persönlichen Kenntnisse zu fördern? Teste unsere Lösung mit Vollzugriff auf Tutorials und Vorlagen/Erweiterungen, die dich schneller zum Ziel bringen. Klicke jetzt hier und teste uns kostenlos!

  3. helge07

    helge07 Aktives Mitglied

    Dabei seit:
    15.01.2010
    Beiträge:
    394
    Geschlecht:
    männlich
    Software:
    LR3, PS CS5
    Kameratyp:
    EOS 60D
    Adobe Acrobat Pro DC Formularberechnung (Javascript)
    möglicherweise sitzt nur eine Klammer falsch.
    Der folgende Code (mit Zwischenschritten zur Detail-Kontrolle) liefert bei mir jedenfalls das gleiche Ergebnis wie Excel:

    --------------------------------------
    var A = this.getField("EN442WATT");
    var B = this.getField("EFFVL");
    var C = this.getField("EFFRL");
    var D = this.getField("EFFTEMP");
    //event.value = Math.pow((((B.value+C.value)/2.0)-D.value)/((75+65/2.0)-20),1.275)*A.value;

    var q=(((B.value+C.value)/2.0)-D.value)/((75+65/2.0)-20);
    event.value = Math.pow(q,1.275)*A.value;

    console.println("Zähler: " );
    console.println(((B.value+C.value)/2.0)-D.value);

    console.println("Nenner: " );
    console.println((75+65/2.0)-20);

    console.println("Quotient: " );
    console.println(q);

    console.println("Potenz: " );
    console.println(Math.pow( q,1.275));

    console.println("Potenz * A: " );
    console.println(Math.pow( q,1.275)*A.value);

    console.println("event.value:");
    console.println(event.value);
    ------------------------------------

    JavaScript-Konsolausgabe:

    Zähler:
    17
    Nenner:
    87.5
    Quotient:
    0.19428571428571428
    Potenz:
    0.12381181985727516
    Potenz * A:
    2.4762363971455033
    event.value:
    2.4762363971455033
    ----------------------------------------

    Excel-Datei (als csv):
    20;;;;;
    40;;;;;
    4;;;;;
    5;;;;;
    ;;;;;
    ;17;;(B.value+C.value)/2)-D.value;;
    ;87,5;;(75+65)/2-20;;
    ;0,194285714;;(B.value+C.value)/2)-D.value / (75+65)/2-20;;
    ;2,476236397;;"=(POTENZ(B15;1,275))*A1";;
     
    #2      
  4. exil-ösi

    exil-ösi Noch nicht viel geschrieben

    Dabei seit:
    24.02.2020
    Beiträge:
    3
    Geschlecht:
    männlich
    Adobe Acrobat Pro DC Formularberechnung (Javascript)
    Zunächst, vielen lieben Dank für die Hilfe! Habe die Klammern mal korrigiert. Als einfache Kontrolle trage ich für die effektiven Temperaturen dieselben Werte wie für die Normtemperaturen ein - hier sollte dann die Wattleistung ident sein. Klappt leider nicht - es wird zwar gerechnet, aber ich vermute, dass bei der Reihenfolge etwas nicht ordentlich greift.

    Was wurden bei dem Bsp. "Zähler" für Werte bei B.value. C.value und D.value verwendet?
    Beim "Nenner" stimmt die Reihenfolge nicht mit der Gesamtformel überein: die Division durch 2 sollte nach der Addition 75+65 erfolgen: ((75+65)/2)-20 = 50
     
    Zuletzt bearbeitet: 26.02.2020
    #3      
  5. helge07

    helge07 Aktives Mitglied

    Dabei seit:
    15.01.2010
    Beiträge:
    394
    Geschlecht:
    männlich
    Software:
    LR3, PS CS5
    Kameratyp:
    EOS 60D
    Adobe Acrobat Pro DC Formularberechnung (Javascript)
    mea culpa!!
    Ich habe das korrigiert. Hier habe ich die PDF-Datei und die Excel-Datei zum Download abgelegt:https://www.dropbox.com/s/lpdr2ehle5y07qa/test.zip?dl=0
     
    #4      
    exil-ösi gefällt das.
  6. exil-ösi

    exil-ösi Noch nicht viel geschrieben

    Dabei seit:
    24.02.2020
    Beiträge:
    3
    Geschlecht:
    männlich
    Adobe Acrobat Pro DC Formularberechnung (Javascript)
    Ich neige mein Haupt. Das klappt nun einwandfrei und macht was es soll!
    Vielen, vielen Dank für die sensationelle und vor allem prompte Unterstützung!

    Gruß
    Florian
     
    #5      
Seobility SEO Tool
x
×
×