javascript - 在 Acrobat 中计算总计

标签 javascript pdf

我尝试在 Acrobat 中使用 JavaScript 以交互形式总计 10 个数据字段。最初,数据是手动输入的。我们创建的计算公式在手动输入数据时有效,但在从另一个表单导出数据然后使用 FDF 文件导入到此表单时无法正确总计。

当前的工作流程使用三种形式。将数据输入到表单 1 和 2 中。然后将数据从两个表单中导出为数据并以 FDF 格式保存。

打开表格 3,并将两个数据文件导入到该表格中。有两个 TOTALS 字段具有相似的公式,一个将所有负数相加,另一个将所有正数相加。

但是,当我们导入两个文件时,只会触发第一个计算。第二个被忽略。如果您第二次导入任一数据文件,则会启动第二次计算。

因此,我们正在尝试找出如何告诉 Acrobat 在导入数据文件后执行这两项计算。

下面是负数的 JavaScript 代码:

function calcLost(){
 var amountLost = 0;
 var pt_neck_diff = this.getField('pt_neck_diff').value;
 var pt_arm_r_diff = this.getField('pt_arm_r_diff').value;
 var pt_arm_l_diff = this.getField('pt_arm_l_diff').value;
 var pt_chest_diff = this.getField('pt_chest_diff').value;
 var pt_belly_diff = this.getField('pt_belly_diff').value;
 var pt_waist_diff = this.getField('pt_waist_diff').value;
 var pt_hips_diff = this.getField('pt_hips_diff').value;
 var pt_butt_diff = this.getField('pt_butt_diff').value;
 var pt_thigh_r_diff = this.getField('pt_thigh_r_diff').value;
 var pt_thigh_l_diff = this.getField('pt_thigh_l_diff').value;
 if(pt_neck_diff < 0){
   amountLost += pt_neck_diff
 }

 if(pt_arm_r_diff < 0){
   amountLost += pt_arm_r_diff
 }

 if(pt_arm_l_diff < 0){
   amountLost += pt_arm_l_diff
 }

 if(pt_chest_diff < 0){
   amountLost += pt_chest_diff
 }

 if(pt_belly_diff < 0){
   amountLost += pt_belly_diff
 }

 if(pt_waist_diff < 0){
   amountLost += pt_waist_diff
 }

 if(pt_hips_diff < 0){
   amountLost += pt_hips_diff
 }

 if(pt_butt_diff < 0){
   amountLost += pt_butt_diff
 }

 if(pt_thigh_r_diff < 0){
   amountLost += pt_thigh_r_diff
 }

 if(pt_thigh_l_diff < 0){
   amountLost += pt_thigh_l_diff
 }
 return amountLost;
 }

 event.value = calcLost();

另一个(几乎相同)脚本计算正数。有人知道如何告诉 Acrobat 运行第二个脚本吗?

如前所述,如果您重新导入任一数据文件,这两个公式都可以正常工作。第一次导入文件时它无法正常工作。

另一个有趣的事实是,以类似的形式,仅使用四位数的导数计算就可以很好地工作。当我们使用包含 10 个数据字段的表单时,该公式不起作用。

我们被难住了。

最佳答案

您可能需要仔细检查表单字段的计算顺序 ( http://help.adobe.com/en_US/acrobat/X/pro/using/WS58a04a822e3e50102bd615109794195ff-7de2.w.html )。

或者,调用 this.calculateNow() 将强制计算表单上的所有计算字段。请参阅此处的 Adob​​e PDF API 引用:http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/js_api_reference.pdf

关于javascript - 在 Acrobat 中计算总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19867693/

相关文章:

javascript - java中长路径代码变短

javascript - jslint 错误的属性名称 '$wrapper'

javascript - 使用 javascript 下载时 PDF 为空白

r - 在 PDF 中绘制为位图

pdf - 如何仅标记 PDF 的最后一页

php - Ghost 脚本 - 从 pdf 中提取单个页面并将其转换为 jpg

javascript - ExtJS 6 如何更改 Sprite 的颜色

javascript - 我如何获得在 firefox/chrome 上播放的单循环 gif

javascript - 使用 Javascript 防止多个表单提交

perl - 如何将PDF文件与Perl合并?