Acrobat - 使用 Javascript 拒绝评论

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

我有一个巨大的 pdf 文件,有很多人评论。我想要一个脚本(如快捷方式)来拒绝所选评论(现在似乎不可能直接有此操作的快捷方式)。

pdf 不是表格。

我已经阅读了 Adobe for Javascript 的文档(Chrome 中的第 106 页,它没有在我的页面上打开): https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/pdfs/acrobatsdk_jsdevguide.pdf#page106

以及 API 指南第 68 页: https://opensource.adobe.com/dc-acrobat-sdk-docs/acrobatsdk/pdfs/acrobatsdk_jsapiref.pdf#page68

我的测试 pdf(仅突出显示一条评论 - 我们在评论时突出显示文本):

您可以在这里下载需要的文件:测试pdf下载

红色箭头显示我要设置为拒绝的状态。

(当我第一次开始时,我试图对所有评论进行循环,然后显示一个显示评论的对话框,并添加三个按钮来接受、拒绝、不执行任何操作 - 但对我来说太难了:))。

我的代码有几个版本,但没有一个能工作(我也尝试过 Bard、ChatGPT,但没有成功)。

function rejectSelectedComment() {
  // Get the currently open PDF document
  var doc = app.activeDocument;

  // Get the currently selected comment
  var selectedComment = doc.activeAcroForm.currentPage.comments.getSelectedComment();

  // Check if a comment is selected
  if (selectedComment) {
    // Reject the selected comment
    selectedComment.reject();
  } else {
    // Alert the user that no comment is selected
    app.alert("Please select a comment to reject.");
  }
rejectSelectedComment()
}

总是得到文档未定义或 this.getComments 不是函数

我已经从控制台和操作中尝试过,但无法选择文档。 我尝试将脚本作为 .js 文件放在 Javascript 文件夹中。 我能够显示一些应用程序警报。 我尝试过 this.syncAnnotScan(); 方法Adobe pdf 中描述了,但运气不佳;

我在github上检查了一些项目。

预期结果应该是评论状态设置为拒绝。因此用户可以转到下一个并应用脚本。

感谢您的阅读!

javascript adobe acrobat
1个回答
0
投票

答案(来自一些同事,所以我发布在这里以防对某人有帮助)。

function modifyStateOfSelectedComments(){
annots =  this.selectedAnnots
for ( var i= 0; i< annots.length; i++) {
   states = annots[i].getStateInModel("Review");
var a = annots[i].transitionToState("Review", "Accepted");
}
}

// add tool button to handle the script
app.addToolButton({cName:"myToolButton",cExec: "this.modifyStateOfSelectedComments()",cTooltext: "Push Me!",cEnable: true,nPos: 0});

最后 4 行将添加一个“Javascript 浮动窗口”,这样您就可以在需要时单击按钮。

为了运行它,我通过操作向导 > 新操作 > 更多工具 > 执行 Javascript 设置了一个操作。

现在只是想弄清楚我是否可以将脚本链接到键盘快捷键(目前我可以选择我想要的所有评论,然后按按钮)

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