我想在iText中使用JavaScript查找两个字段之间的区别。使用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\")')");
在上面的代码我试图添加 - (负的值)与总2,从而,这将是尽管AF方法仍然是'SUM',但从total1中减去。
但这并不奏效。
下面简单的代码似乎工作:
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); }");
感谢Lowagie。我尝试了你所建议的方式,但似乎并不奏效。我在原始问题中添加了我的更改。 我也认为AF方法没有减法。 – user2296988
我觉得你很接近。主要的区别是你还没有设置动作。所以减去的语法是正确的,但它从来没有用过。 –
是的,我想我很想念它。你能否写下如何设置一个行动。我尝试了不同的方式,如setAction(“MouseUp”)...但我没有得到正确的语法。 – user2296988