0

我是 acrobat 中这个脚本代码的新手。我想创建一个动态图章,用户在其中输入各种数据,例如公司名称/帐号/批准人/日期(生成今天的日期)/支付账单(会说“批准,N/A,)

通过在网上搜索,我在这里和那里找到了一些代码,我想出了这个:但到目前为止我没有运气。我究竟做错了什么。

var dialog = {
companyValue: "",
accountValue: "",
approvedValue: "",
payValue: "",

        commit:function (dialog) { // called when OK pressed 
                var results = dialog.store();
                this.companyValue = results["txt1"];
                this.accountValue = results["txt2"];
                this.approvedValue = results["txt3"];
                this.payValue = results["txt4"];
        },      

        description:
        {       
                name: "Exhibit Information",    // Dialog box title
                elements:
                [       
                        {       
                                type: "view", 
                                elements:
                                [       
                                        {       
                                                name: "Company name: ",
                                                type: "static_text",
                                        },      
                                        {       
                                                item_id: "txt1", 
                                                type: "edit_text",
                                                multiline: true,
                                                width: 300,
                                                height: 30
                                        },  
                                        {       
                                                name: "Account Number: ",
                                                type: "static_text",
                                        },      
                                        {       
                                                item_id: "txt2", 
                                                type: "edit_text",
                                                multiline: true,
                                                width: 300,
                                                height: 30
                                        },
                                        {       
                                                name: "Approved By: ",
                                                type: "static_text",
                                        },      
                                        {       
                                                item_id: "txt3", 
                                                type: "edit_text",
                                                multiline: true,
                                                width: 300,
                                                height: 30
                                        }, 
                                        {       
                                                name: "Pay Bill: ",
                                                type: "static_text",
                                        },      
                                        {       
                                                item_id: "txt4", 
                                                type: "edit_text",
                                                multiline: true,
                                                width: 300,
                                                height: 30
                                        }, 
                                        {       
                                                type: "ok_cancel",
                                                ok_name: "Ok",
                                                cancel_name: "Cancel"
                                        },      
                                ]       
                        },      
                ]       
        }       
}; 


if(event.source.forReal && (event.source.stampName == "#caseandnumblue"))
{
  if ("ok" == app.execDialog(dialog))
  {
    var cMsg = dialog.companyValue;
    event.value = "Company\n" + cMsg;
    event.source.source.info.company = cMsg;

    cMsg = "Account\n" + dialog.accountValue;
    this.getField("AccountNumField").value = cMsg;

    cMsg = "Approved\n" + dialog.approvedValue;
    this.getField("ApproveByField").value = cMsg;

    cMsg = "Pay\n" + dialog.payValue;
    this.getField("PayBillField").value = cMsg;
  }
}
4

1 回答 1

1

它可能与您的 stampName 值(“#caseandnumblue”)有关。这应该是 Acrobat 在您创建图章时分配的字母和数字的随机组合,而不是您为图章提供的标签。您可以通过在 Javascript 调试器中键入以下内容来获取该值:

this.selectedAnnots[0].AP

(按 CTRL-Enter 以获取要在 Acrobat 的 Javascript 调试器中执行的代码......那部分让我有点失望。)

感谢您在此处发布此内容 - 在我尝试制作自己的作品时,它很有帮助。我发现此 Acrobat 用户教程以及用于 Dialog 对象的 Adob​​e JavaScript API 参考有助于弄清楚如何在 Acrobat 中构建动态图章对话框。

于 2013-11-21T22:35:12.803 回答