我在 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 表单。
我认为错误在行中
var targetFld = this.getField("dataSrc");
这是指当前活动的文档,而不是目标文档。
正确的是
var targetFld = oTargetDoc.getField("dataSrc");
另一种方法是从目标文档中提取;这个概念类似于推动。
同样重要:您要访问的文档必须有这个
this.disclosed = true ;
在文档级别。
然后它应该可以工作。