首页 > 解决方案 > 不显示对话框结果的 Acrobat 动态日期戳

问题描述

我在这方面完全是新手,并且从在线示例中借用了部分脚本。

我正在制作带有提示日期的对话框的邮票,如果没有回复,则默认为当前日期。我已经让它显示对话框和默认日期。但是,结果并没有最终印在邮票上。有人可以协助解决问题吗?

if(event.source.forReal && (event.source.stampName == "#2Nw2jMn7S5l9QIPW-WGOHB"))
{
   var rgEmpty = /^\s*$/;
   var cDate = null;
   var cDfltDate = null;
   if((event.value != null)  && !rgEmpty.test(event.value) && util.scand("mmm dd yyyy",event.value))
      cDfltDate = event.value;
   else
      cDfltDate = util.printd("mmm dd yyyy",new Date());
   while((cDate==null) || rgEmpty.test(cDate) || (null == util.scand("mmm dd yyyy",cDate)))
   {
       cDate = app.response({cQuestion:"Please Enter the Date",
                             cTitle:"Stamp Date Entry",
                             cDefault:cDfltDate ,
                             cLabel:"Date:"
                           });
       if((cDate==null) || rgEmpty.test(cDate) || (null == util.scand("mmm dd yyyy",cDate)))
       {
          app.alert("Please enter date as \"mmm dd yyyy\"\n\nEx: Apr 15 2020",1);
          if(cDate != null)
            cDfltDate = cDate;
       }
   }
}

另外,我想将最终印章作为模板分发给我的同事,而不是他们创建脚本。我可以分享邮票 pdf,让他们从我的模板中创建一个而无需修改脚本吗?

谢谢!

标签: datedynamicadobeacrobatstamp

解决方案


谢谢!我能够在另一个线程的帮助下解决这个问题。这是那里的最后一篇文章:

有用!!!

日期必须是官方的,并且这种特定格式也是必需的。因此,我认为只需单击“确定”即可退出,因为它会自动给出默认日期。

最后要测试的是最终用户可以直接将其复制到邮票文件夹并开始使用它。我会在今天早上有人有空时进行测试并跟进。

谢谢您的帮助!

这是有效的代码:






        console.println("Stamping:" + event.source.StampName);

        if(event.source.forReal && (event.source.stampName == "#StampTemplate"))
        {
           var rgEmpty = /^\s*$/;
           var cDate = null;
           var cDfltDate = null;
           if((event.value != null)  && !rgEmpty.test(event.value) && util.scand("mmm dd yyyy",event.value))
              cDfltDate = event.value;
           else
              cDfltDate = util.printd("mmm dd yyyy",new Date());
           while((cDate==null) || rgEmpty.test(cDate) || (null == util.scand("mmm dd yyyy",cDate)))
           {
               cDate = app.response({cQuestion:"Please enter date as \"mmm dd yyyy\"\n\nFor Example: Apr 15 2020",
                                     cTitle:"Stamp Date Entry",
                                     cDefault:cDfltDate ,
                                     cLabel:"Date:"
                                   });
               if((cDate==null) || rgEmpty.test(cDate) || (null == util.scand("mmm dd yyyy",cDate)))
               {
                  app.alert("Please enter date as \"mmm dd yyyy\"\n\nFor Example: Apr 15 2020",1)
               }
               else
                  event.value = cDate;
               }
        }





推荐阅读