用于将同名表单字段值从一个 PDF 表单复制到 Acrobat 中的另一个表单的脚本

问题描述 投票:0回答:1

我在 Acrobat 中创建了一个脚本(如下),用于将表单字段值从一个 PDF 表单复制到另一个 PDF 表单,但无论出于何种原因,该脚本无法按预期执行,即将值复制到另一个 PDF 表单字段。我还应该补充一点,我尝试使用带有鼠标释放事件的按钮和我也添加到 PDF 表单中的菜单项来运行脚本。然而,令我沮丧的是,脚本最终将值复制到 JS 控制台,而目标 PDF 表单字段值仍为空。非常感谢有关此主题的任何帮助。

// sample script to copy form field data from one PDF to another with the same form field name
var sourceFld = getField("dataSrc");
sourceFld.value = getField("dataSrc").value;// assign data/value to a var
var oTargetDoc = null;// script to access target doc
for(var i=0;i<app.activeDocs.length;i++){
  if(app.activeDocs[i] != this){
    oTargetDoc = app.activeDocs[i];
    break;
  }
}
if(oTargetDoc){
//get form field from target doc
  var targetFld = this.getField("dataSrc");
  targetFld.value = sourceFld.value;//copy data from source PDF field to target PDF data field
  
}
if(targetFld.value != ""){
  app.alert({
    cMsg: "Data Transfer Success!",
    Title: "EasyPDF™ Password Manager Copy Data",
    nIcon: 3
  });
  console.println(targetFld.value);//print the data copied to the target PDF form field to the JS console
}
else
  app.alert({
    cMsg: "Data Transfer Failed!",
    Title: "EasyPDF™ Password Manager Copy Data",
    nIcon: 3
  });

使用按钮以及添加到表单的菜单项运行脚本,但脚本无法按预期执行,即将表单字段值从一个 PDF 表单复制到另一个 PDF 表单。

javascript pdf copy field acrobat
1个回答
0
投票

我认为错误在行中

var targetFld = this.getField("dataSrc");

这是指当前活动的文档,而不是目标文档。

正确的是

var targetFld = oTargetDoc.getField("dataSrc");

另一种方法是从目标文档中提取;这个概念类似于推动。

同样重要:您要访问的文档必须有这个

this.disclosed = true ;

在文档级别。

然后它应该可以工作。

© www.soinside.com 2019 - 2024. All rights reserved.