我想在 iText 中使用 JavaScript 找出两个字段之间的区别。
我可以使用以下代码找到它们的总和:
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;");
我用空格分隔换行符并添加了右转义字符。
我也在考虑使用不同的逻辑来使用 AF 方法进行减法:像这样
stamperResult.addJavaScript("var nameField = this.getField(\"total\");"+ "nameField.setAction(\"Calculate\",'AFSimple_Calculate(\"SUM\",\"total1\", \"-total2\")')");
在上面的代码中,我试图将 -(negative value) 添加到 total 2 中,以便从 total1 中减去它,尽管 AF 方法仍然是“SUM”。
但这不起作用。
下面的简单代码似乎有效:
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); }");