如何使用Acrobat XI使用JavaScript编辑最后修改的注释(Ink)?

时间:2018-05-09 18:51:20

标签: javascript pdf adobe acrobat

我需要在PDF中创建几个按钮,按下这些按钮将改变Acrobat中墨水/铅笔工具的颜色。我不擅长JavaScript,并且一直在努力为我想要完成的工作找到足够的文档。

我找到了一种反向方法,我可以制作一个注释,让按钮在绘制后改变颜色。这满足了我的需求,但我还没想出如何只编辑最后修改/创建的注释。到目前为止,我有以下内容:

var buttonColor = this.getField("button").strokeColor;
this.syncAnnotScan();
var annots = this.getAnnots()
    nSortBy: ANSB_ModDate
    bReverse: true;

for (var i = 0; i < annots.length; i++) {
    if (annots[i].type == "Ink") {
        annots[i].strokeColor = buttonColor;
    }
}

这会导致按钮更改所有墨迹注释;我只是不确定如何告诉脚本只编辑最后创建/修改的注释(如果可能),其他所有内容都按需工作。

1 个答案:

答案 0 :(得分:0)

您不需要对annots进行排序以获取最后创建的annots,它始终是数组中的最后一项。您不需要将任何参数传递给getAnnots()。

var buttonColor = this.getField("button").strokeColor;
this.syncAnnotScan();
var annots = this.getAnnots();

if (annots[annots.length-1].type == "Ink") {
    annots[annots.length-1].strokeColor = buttonColor;
}

您可以通过以下网址查看PDF。 https://files.acrobat.com/a/preview/69dd17f9-66f5-496b-a2d1-bfaab21ccdec