Adobe Acrobat 动作向导和 Javascript

Adobe Acrobat Action Wizard and Javascript

我正在使用 Adob​​e Acrobat Pro DC 中的动作向导工具。我想使用 "execute Javascript" 将水印应用到 PDF 页面的中心,并将人名应用到两侧和顶部。我成功地做到了这一点,这是代码。

var cMyText = "This PDF has been created for exclusive use for Max Power.";

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize:9,
    nHorizAlign:app.constants.align.center,
    nVertAlign:app.constants.align.top,
    nVertValue:-10,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize: 9,
    nRotation: 90,
    nHorizAlign: app.constants.align.left,
    nHorizValue: 10,
    nVertAlign: app.constants.align.center,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize:9,
    nRotation:-90,
    nHorizAlign:app.constants.align.right,
    nHorizValue:-10,
    nVertAlign:app.constants.align.center,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: "DRAFT COPY",
    nTextAlign:app.constants.align.center,
    cFont: "Helvetica-Bold",
    nFontSize:80,
    aColor: ["RGB", 0, 0, 1],
    nRotation:45,
    nOpacity: 0.2,
});

现在,这是我的问题。该行...

"This PDF has been created for exclusive use for Max Power.";

每次我运行的动作都会改变。我不想冒着让用户直接在代码中编辑它来弄乱 JavaScript 的风险。我想要一个输入框,提示用户在执行操作之前编辑此行。这可能吗?请帮忙!谢谢

查看 reference 中的 app.reponse()

按照这些思路应该可以解决问题:

var name = app.alert("Please enter name below:");

if (name != null) {
    var cMyText = "This PDF has been created for exclusive use for " + user + ".";
    ...

或者,您可以在每个用户的机器上放置文件夹级别 Javascript 文件,并使用 getUser() 函数返回他们的名称。根据网络环境的不同,这可能是也可能不是一个选项,但它将启用文档级脚本来确定用户是谁。

谢谢!下面的代码成功了!

var dialogTitle = "Please Complete";

var string1 = "This PDF has been created for exclusive use for";
var defaultAnswer = "";

var string2 = app.response("Add PDF recipients NAME or COMPANY",
dialogTitle, defaultAnswer);

var string3 = app.response("Add PDF recipients ADDRESS",
dialogTitle, defaultAnswer);

var cMyText = string1 +"\n"+ string2 +" "+ string3;
var string4 = string2 +"\n"+ string3;

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize:9,
    nHorizAlign:app.constants.align.center,
    nVertAlign:app.constants.align.top,
    nVertValue:-10,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize:9,
    nRotation:90,
    nHorizAlign:app.constants.align.left,
    nHorizValue:10,
    nVertAlign:app.constants.align.center,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: cMyText,
    nFontSize:9,
    nRotation:-90,
    nHorizAlign:app.constants.align.right,
    nHorizValue:-10,
    nVertAlign:app.constants.align.center,
    nOpacity: 0.8,
});

this.addWatermarkFromText({
    cText: string4,
    nTextAlign:app.constants.align.center,
    cFont: "Helvetica-Bold",
    nFontSize:36,
    aColor: ["RGB", 0, 0, 1],
    nRotation:45,
    nOpacity: 0.2,
    bOnTop:false,
});