Я хотел бы найти разницу между двумя полями, используя JavaScript в iText.
Я могу найти их сумму, используя следующий код:
PdfStamper stamperResult = new PdfStamper(readersectionResult, new FileOutputStream(RESULT_NEW));
stamperResult .addJavaScript("var nameField = this.getField(\"total\");"+ "nameField.setAction(\"Calculate\",'AFSimple_Calculate(\"SUM\",\"total1\", \"total2\")')");
Есть ли способ найти разницу с помощью AFSimple_Calculate, аналогично тому, что я сделал в приведенном выше фрагменте кода?
Спасибо за редактирование! Я попробовал ваше предложение, но оно почему-то не работает.
stamperResult.addJavaScript(" var total1 = this.getField(\"value1\"); var total2 = this.getField (\"value2\"); var subtr = this.getField(\"total\"); subtr.value = total1.value - total2.value;");
Я разделил новые строки пробелами и добавил правые escape-символы.
Я также думал об использовании другой логики для вычитания с использованием методов AF: вот так
stamperResult.addJavaScript("var nameField = this.getField(\"total\");"+ "nameField.setAction(\"Calculate\",'AFSimple_Calculate(\"SUM\",\"total1\", \"-total2\")')");
В приведенном выше коде я пытался добавить -(отрицательное значение) к итогу 2, чтобы он был вычтен из итога1, хотя метод AF по-прежнему «СУММ».
Но это не работает.
Приведенный ниже простой код работает:
stamperResult.addJavaScript("var nameField = this.getField('total');" +
"nameField.setAction('Calculate'," +
"'subtract()');" +
"" +"function subtract(){this.getField('total').value
= (this.getField('total_1').value -this.getField('total_2').value); }");