带有填充字段的动态图章

时间:2013-10-29 18:11:52

标签: javascript adobe acrobat

我是acrobat中这个脚本代码的新手。我想创建一个动态图章,用户输入各种数据,例如公司名称/帐号/经过/日期批准(生成今日日期)/支付账单(可以说是“已批准,不适用”)

从网上搜索我发现了一些代码,我想出了这个: 但到目前为止,我没有运气。我做错了什么。

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

1 个答案:

答案 0 :(得分:1)

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

this.selectedAnnots[0].AP

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

感谢您在此发布此内容 - 在我尝试放置自己的作品时,它帮了很多忙。我发现this Acrobat Users tutorial以及Adobe's JavaScript API Reference for the Dialog object有助于弄清楚如何在Acrobat中构建动态图章对话框。