如何使用 Acrobat XI 使用 JavaScript 仅编辑最后修改的注释(墨迹)?
How to edit only the last modified annotation (Ink) using JavaScript with Acrobat XI?
我需要在 PDF 中创建几个按钮,按下这些按钮会更改 Acrobat 中 Ink/Pencil 工具的颜色。我不精通 JavaScript,并且一直在努力寻找足够的文档来说明我想要完成的事情。
我找到了相反的方法,我可以做一个注释,让按钮在绘制后改变 Ink 的颜色。这满足了我的需要,但我还没有弄清楚如何只编辑 LAST modified/created 注释。到目前为止,我有以下内容:
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;
}
}
这会导致按钮更改所有 Ink 注释;我只是不确定如何告诉脚本只编辑最后一个 created/modified 注释(如果可能),其他一切都按需要工作。
您无需对注释进行排序即可找到最后创建的注释,它始终是数组中的最后一项。您不需要将任何参数传递给 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;
}
您可以在下面的 URL 中查看此工作的 PDF。
https://files.acrobat.com/a/preview/69dd17f9-66f5-496b-a2d1-bfaab21ccdec
我需要在 PDF 中创建几个按钮,按下这些按钮会更改 Acrobat 中 Ink/Pencil 工具的颜色。我不精通 JavaScript,并且一直在努力寻找足够的文档来说明我想要完成的事情。
我找到了相反的方法,我可以做一个注释,让按钮在绘制后改变 Ink 的颜色。这满足了我的需要,但我还没有弄清楚如何只编辑 LAST modified/created 注释。到目前为止,我有以下内容:
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;
}
}
这会导致按钮更改所有 Ink 注释;我只是不确定如何告诉脚本只编辑最后一个 created/modified 注释(如果可能),其他一切都按需要工作。
您无需对注释进行排序即可找到最后创建的注释,它始终是数组中的最后一项。您不需要将任何参数传递给 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;
}
您可以在下面的 URL 中查看此工作的 PDF。 https://files.acrobat.com/a/preview/69dd17f9-66f5-496b-a2d1-bfaab21ccdec