【问题标题】:Adobe Acrobat Action Wizard and JavascriptAdobe Acrobat 动作向导和 Javascript
【发布时间】:2015-08-20 11:43:24
【问题描述】:

我正在使用 Adob​​e Acrobat Pro DC 中的操作向导工具。我想使用“执行 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,
});

现在,这是我的问题。线...

“此 PDF 专为 Max Power 创建。”;

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

【问题讨论】:

    标签: javascript acrobat inputbox


    【解决方案1】:

    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() 函数。根据网络环境,这可能是一个选项,也可能不是,但它会启用文档级脚本来确定用户是谁。

    【讨论】:

    • 感谢您提供替代解决方案。请参阅下文了解我使用的选项。
    【解决方案2】:

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

    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,
    });
    

    【讨论】:

      猜你喜欢
      • 2013-09-09
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多