Embedded Javascript Code for Adobe Acrobat: TypeError: this.getField is not a function

Embedded Javascript Code for Adobe Acrobat: TypeError: this.getField is not a function

所以我想在文档打开时将一些 JavaScript 代码 运行,所以我将我的 .js 文件放入我的 Acrobat\JavaScripts 文件夹(在 Program Files 中)。我正在尝试 运行 以下代码:

function ChangeFont()
{
    var nNumFields = this.numFields; 
    console.println("There are " + nNumFields + " in this document."); 
    var cFieldName; var oField; 
    for(i = 0; i < nNumFields; i++) 
    {
        cFieldName = this.getNthFieldName(i); 
        oField = this.getField(cFieldName);
        oField.textFont = "PTSans";  
    }
}

ChangeFont()

打开 PDF 运行我已将其他代码插入到同一文件夹中,但不是这个(因为字体没有改变)。当手动将此代码粘贴到 Acrobat JavaScript 调试器中时,选择所有代码并按 Ctrl+Enter,它可以完美运行。那么为什么它在文档打开时不起作用??

我试图通过创建一个单独的 .js 来隔离问题,该 .js 选择一个特定字段并更改其字体,如下所示:

var f = this.getField("myField");
f.textFont = "PTSans";

将 test.js 放入 JavaScripts 文件夹,并用 Acrobat 打开 PDF 文档后,立即出现以下错误:

"TypeError: "this.getField" 不是函数。"

同样,我 运行 它在调试器控制台中手动运行,它运行良好。

这是怎么回事?我不认为我使用的是 LiveCycle Designer 界面,它只是 Adob​​e Acrobat 10。

编辑:目的是打开文档时所有字段都以某种字体显示。

文件夹级别的脚本 运行 在 Acrobat 加载时但在打开文档之前。 numFields 属性 属于 Doc 对象,该对象尚不存在。只需删除最后一行,您就可以 运行 从文档中的按钮使用该功能。