10 Replies Latest reply on Jul 6, 2012 3:26 PM by Joe Sacramento

    File Name Stamper

    Joe Sacramento

      Hello All,

       

      I am using: http://acrobatusers.com/assets/uploads/actions/File_Name_Stamper.pdf

       

      It works great for one file. But for multiple files, a popup dialog box keeps showing up. Our small non-profit organization is processing 1000+ files and pressing the enter key is cumbersome.

       

      The actual JavaScript code is below. Is there a way to disable the popup dialog box?

       

      Many thanks...

       

       

      //////////////////////////////////////////////

      ///////////////////////////////////////////////

      //

      //   File Name Stamper Action Script

      //

      //   by Thom Parker, WindJack Solutions, Inc.

      //      www.windjack.com, www.pdfscripting.com

      //   for Adobe Systems Inc. www.adobe.com

      //

      //       NOTE: Only for use in an Action Script

      //       Requires:  Acrobat 10 or later

      //

      //   Stamps the PDF file Name/Title/Date onto a PDF

      //   A popup dialog for entering stamping parameters

      //   is displayed for each PDF processed by the Action

      //   Parameters include Position, Text Size, Font, Text Color

      //  

      //   The stamp is created watermark

      //

      //////

      //

      //   Version 1.2 - 11/5/2020

       

       

      //Acrobat JavaScript Dialog

      //Created by DialogDesigner from WindJack Solutions

      //<CodeAbove>

      var aFontNames = [

      "Helvetica",

      "Times",

      "Courier",

      ];

       

       

      var aDateFmts = [

                  "mm/dd/yyyy",

                  "yyyy-mm-dd",

                  "mmmm d, yyyy",

                  "ddd mmm d, yyyy",

                  "dddd mmmm d, yyyy"

      ];

       

       

      function SetLabelText(dialog, dlg)

      {

           var strLab = "";

           var oRslt = dialog.store();

       

       

           strLab = oRslt["FlNm"]?dlg.strDocFileName:dlg.strDocTitle;

           if(oRslt["HDat"])

           {

              var path = new Array();

               strLab += " - " + ( (dlg.GetListSel(oRslt["DFmt"],path))?path.reverse():"").toString();

           }

           dialog.load({"DcSt":strLab});

      }

      //</CodeAbove>

      if(typeof(global.FileNameStamp) == "undefined")

      {

       

       

      global.FileNameStamp =

      {

       

       

          result:"cancel",

          DoDialog: function(){return app.execDialog(this);},

          strLabSource:"FlNm",

          strDocStamp:"",

          bUseDate:false,

          strDateFormat:"",

          strFontName:["Helvetica"],

          strFontSize:"12",

          strFontColor:"000000",

          strHorzPos:"PosR",

          nMarginX:"0.5",

          strVertPos:"PosT",

          nMarginY:"0.5",

          strPgRangeSel:"rAll",

          strStrtPg:"",

          strEndPg:"",

          GetRadioSel:function(oRslts,aCtrls){

            for(var strRtn=aCtrls[0];aCtrls.length>0;strRtn=aCtrls.pop()){

              if(oRslts[strRtn] == true)

                return strRtn;

            }

            return "";

          },

          SetListSel:function(list,path){if(path.length == 0) return;

          eval("list[\""+ ((typeof path.join != "function")?path:path.join("\"][\"")) + "\"] = 1")},

          GetListSel:function(oLstRslts,path){

             for(var item in oLstRslts){

                if( ((typeof oLstRslts[item]=="number")&&(oLstRslts[item]>0))

                   || this.GetListSel(oLstRslts[item],path) )

                 {path.push(item);return true;}

             }

             return false;

          },

          bHidden:true,

          nNumPages:1,

          nCurPage:0,

          strDocTitle:"My Title",

          strDocFileName:"mytestdoc.pdf",

          SetTheLabel:SetLabelText,

          initialize: function(dialog)

          {

              var listDFmt = new Object();

              this.SetListSel(listDFmt, this.strDateFormat);

       

       

              var listFont =

              {

                  "Helvetica": -1,

              };

              this.SetListSel(listFont, this.strFontName);

       

       

              var dlgInit =

              {

                  "Font": listFont,

                  "FtSz": this.strFontSize,

                  "FtCl": this.strFontColor,

                  "MrgH": this.nMarginX,

                  "MrgV": this.nMarginY,

                      "DcSt": this.strDocStamp,

                      "HDat": this.bUseDate,

                      "tFPg": this.strStrtPg,

                      "tTPg": this.strEndPg,

              };

              dlgInit[this.strLabSource] = true;

              dlgInit[this.strHorzPos] = true;

              dlgInit[this.strVertPos] = true;

              dlgInit[this.strPgRangeSel] = true;

              dialog.load(dlgInit);

              dialog.enable(

                  {

                      "tTPg": false,

                      "tFPg": false,

                      "DFmt": false,

                  }

          );

              if( (this.strStrtPg == "")|| isNaN(this.strStrtPg) || (Number(this.strStrtPg) > this.nNumPages) )

              {

                 if(this.bHidden)

                     this.strStrtPg = "1";

                 else

                     this.strStrtPg = (this.nCurPage+1).toString();

              }

       

              if((this.strEndPg == "") || isNaN(this.strEndPg) || (Number(this.strEndPg) > this.nNumPages) )

                 this.strEndPg = this.nNumPages.toString();

       

              var flist = {};

              /*

              for(var i=0;i<aFontNames.length;i++)

              */

              for(var nm in font)

                 flist[font[nm]] = -1;

              flist[this.strFontName] = 1;

       

              var dlist = {};

              var oDt = new Date();

              for(var i=0;i<aDateFmts.length;i++)

                 dlist[util.printd(aDateFmts[i],oDt)] = (i==0)?1:-1;

       

              var exInit ={"tFPg": this.strStrtPg,"tTPg":this.strEndPg, "sOfN":"of (" + this.nNumPages+")",

                                   "DcSt":(this.strLabSource == "FlNm")?this.strDocFileName:this.strDocTitle,

                                   "TopL":"Working on File: " + this.strDocFileName, "Font":flist, "DFmt":dlist };

       

       

              if(this.bHidden && this.strPgRangeSel == "rCur")

              {  

                    this.strPgRangeSel = "rAll";

                    exInit["rCur"] = false;

                    exInit[this.strPgRangeSel] = true;

              }

       

              dialog.load(exInit);

       

              var exInit = {"ExPg":this.strPgRangeSel =="rFro", "MrgH":this.strHorzPos!="PosC", "MrgV":this.strVertPos!="PosM",

                                      "tFPg":this.strPgRangeSel =="rFro", "tTPg":this.strPgRangeSel == "rFro", "rCur":!this.bHidden,

                                      "DcSt":(this.strLabSource == "Titl"), "DFmt":this.bUseDate};

       

              dialog.enable(exInit);

              this.SetTheLabel(dialog,this);

          },

          validate: function(dialog)

          {

              var oRslt = dialog.store();

       

              if(isNaN(oRslt["FtSz"]) || (Number(oRslt["FtSz"]) < 0))

              {

                   app.alert("Font Size must be a positive number");

                   return false;

              }

       

              var rg = /([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})/i;

              if(!rg.test(oRslt["FtCl"]))

              {

                   app.alert("The Font Color must be a series of 3 pairs of Hexadecimal numbers,"

                                 + " where each pair represents one 8 bit color component, Red Green Blue\n"

                                 + "For Example:\n   Black = 000000,  Red = FF0000, Green = 00FF00, Blue = 0000FF");

                   return false;

              }

       

              if(isNaN(oRslt["MrgH"]) || (Number(oRslt["MrgH"]) < 0))

              {

                   app.alert("The Horizontal Margin must be a positive number");

                   return false;

              }

       

              if(isNaN(oRslt["MrgV"]) || (Number(oRslt["MrgV"]) < 0))

              {

                   app.alert("The Vertical Margin must be a positive number");

                   return false;

              }

       

              return true;

          },

          commit: function(dialog)

          {

              var oRslt = dialog.store();

              this.strLabSource = this.GetRadioSel(oRslt,["FlNm","Titl"]);

              this.strDocStamp = oRslt["DcSt"];

              this.bUseDate = oRslt["HDat"];

              var path = new Array();

              this.strDateFormat = (this.GetListSel(oRslt["DFmt"],path))?path.reverse():"";

              var path = new Array();

              this.strFontName = (this.GetListSel(oRslt["Font"],path))?path.reverse():"";

              this.strFontSize = oRslt["FtSz"];

              this.strFontColor = oRslt["FtCl"];

              this.strHorzPos = this.GetRadioSel(oRslt,["PosL","PosC","PosR"]);

              this.nMarginX = oRslt["MrgH"];

              this.strVertPos = this.GetRadioSel(oRslt,["PosT","PosM","PosB"]);

              this.nMarginY = oRslt["MrgV"];

              this.strPgRangeSel = this.GetRadioSel(oRslt,["rAll","rCur","rFro"]);

              this.strStrtPg = oRslt["tFPg"];

              this.strEndPg = oRslt["tTPg"];

          },

          "But1": function(dialog)

          {

              dialog.end("Abrt");

          },

          "tTPg": function(dialog)

          {

              var x;

       

       

       

       

          },

          "rFro": function(dialog)

          {

              dialog.enable({tFPg:true, tTPg:true, "ExPg":true});

       

       

          },

          "rCur": function(dialog)

          {

              dialog.enable({tFPg:false, tTPg:false,"ExPg":false});

       

       

          },

          "rAll": function(dialog)

          {

              dialog.enable({tFPg:false, tTPg:false, "ExPg":false});

       

       

          },

          "PosB": function(dialog)

          {

              dialog.enable({"MrgV":true});

          },

          "PosM": function(dialog)

          {

              dialog.enable({"MrgV":false});

          },

          "PosT": function(dialog)

          {

              dialog.enable({"MrgV":true});

          },

          "PosR": function(dialog)

          {

              dialog.enable({"MrgH":true});

          },

          "PosC": function(dialog)

          {

              dialog.enable({"MrgH":false});

          },

          "PosL": function(dialog)

          {

              dialog.enable({"MrgH":true});

          },

          "DFmt": function(dialog)

          {

              this.SetTheLabel(dialog,this);

       

          },

          "HDat": function(dialog)

          {

              this.SetTheLabel(dialog,this);

              dialog.enable({"DFmt":dialog.store()["HDat"]});

          },

          "DcSt": function(dialog)

          {

              /*

              var oRslt = dialog.store();

              if(oRslt["Titl"])

                this.strDocTitle = oRslt["DcSt"];

              */

          },

          "Titl": function(dialog)

          {

              this.SetTheLabel(dialog,this);

              dialog.enable({"DcSt":true});

          },

          "FlNm": function(dialog)

          {

              this.SetTheLabel(dialog,this);

              dialog.enable({"DcSt":false});

          },

          description:

          {

              name: "File Name Stamper",

              elements:

              [

                  {

                      type: "view",

                      elements:

                      [

                          {

                              type: "view",

                              char_height: 10,

                              elements:

                              [

                                  {

                                      type: "static_text",

                                      item_id: "TopL",

                                      name: "Put Dialog Controls Here",

                                      char_width: 15,

                                      alignment: "align_fill",

                                      font: "palette",

                                      bold: true,

                                  },

                                  {

                                      type: "cluster",

                                      item_id: "cls1",

                                      name: "Label Options",

                                      elements:

                                      [

                                          {

                                              type: "view",

                                              align_children: "align_row",

                                              alignment: "align_fill",

                                              elements:

                                              [

                                                  {

                                                      type: "radio",

                                                      item_id: "FlNm",

                                                      group_id: "FUse",

                                                      name: "Use File Name",

                                                      variable_Name: "strLabSource",

                                                  },

                                                  {

                                                      type: "radio",

                                                      item_id: "Titl",

                                                      group_id: "FUse",

                                                      name: "Use Document Title (or custom)",

                                                  },

                                                  {

                                                      type: "edit_text",

                                                      item_id: "DcSt",

                                                      variable_Name: "strDocStamp",

                                                      width: 200,

                                                      height: 23,

                                                      alignment: "align_fill",

                                                  },

                                              ]

                                          },

                                          {

                                              type: "view",

                                              align_children: "align_row",

                                              elements:

                                              [

                                                  {

                                                      type: "check_box",

                                                      item_id: "HDat",

                                                      name: "Include Date",

                                                      variable_Name: "bUseDate",

                                                  },

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta2",

                                                      name: "Format",

                                                  },

                                                  {

                                                      type: "popup",

                                                      item_id: "DFmt",

                                                      variable_Name: "strDateFormat",

                                                      width: 180,

                                                      height: 23,

                                                      char_width: 8,

                                                  },

                                              ]

                                          },

                                          {

                                              type: "view",

                                              align_children: "align_row",

                                              alignment: "align_fill",

                                              elements:

                                              [

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta1",

                                                      name: "Font:",

                                                  },

                                                  {

                                                      type: "popup",

                                                      item_id: "Font",

                                                      variable_Name: "strFontName",

                                                      width: 111,

                                                      height: 23,

                                                      char_width: 8,

                                                  },

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta0",

                                                      name: "Font Size:",

                                                      alignment: "align_right",

                                                      font: "dialog",

                                                  },

                                                  {

                                                      type: "edit_text",

                                                      item_id: "FtSz",

                                                      variable_Name: "strFontSize",

                                                      width: 29,

                                                      height: 23,

                                                  },

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta3",

                                                      name: "Color(8bit Hex RGB):",

                                                      alignment: "align_right",

                                                      font: "dialog",

                                                  },

                                                  {

                                                      type: "edit_text",

                                                      item_id: "FtCl",

                                                      variable_Name: "strFontColor",

                                                      width: 80,

                                                      height: 23,

                                                      char_width: 8,

                                                  },

                                              ]

                                          },

                                      ]

                                  },

                                  {

                                      type: "cluster",

                                      item_id: "cls1",

                                      name: "Position",

                                      width: 188,

                                      height: 80,

                                      char_width: 8,

                                      char_height: 8,

                                      elements:

                                      [

                                          {

                                              type: "view",

                                              align_children: "align_top",

                                              elements:

                                              [

                                                  {

                                                      type: "radio",

                                                      item_id: "PosL",

                                                      group_id: "PosH",

                                                      name: "Left",

                                                      variable_Name: "strHorzPos",

                                                  },

                                                  {

                                                      type: "radio",

                                                      item_id: "PosC",

                                                      group_id: "PosH",

                                                      name: "Center",

                                                  },

                                                  {

                                                      type: "radio",

                                                      item_id: "PosR",

                                                      group_id: "PosH",

                                                      name: "Right ",

                                                  },

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta2",

                                                      name: " Margin (inches):",

                                                  },

                                                  {

                                                      type: "edit_text",

                                                      item_id: "MrgH",

                                                      variable_Name: "nMarginX",

                                                      char_width: 8,

                                                  },

                                              ]

                                          },

                                          {

                                              type: "view",

                                              align_children: "align_top",

                                              elements:

                                              [

                                                  {

                                                      type: "radio",

                                                      item_id: "PosT",

                                                      group_id: "PosV",

                                                      name: "Top ",

                                                      variable_Name: "strVertPos",

                                                  },

                                                  {

                                                      type: "radio",

                                                      item_id: "PosM",

                                                      group_id: "PosV",

                                                      name: "Middle",

                                                  },

                                                  {

                                                      type: "radio",

                                                      item_id: "PosB",

                                                      group_id: "PosV",

                                                      name: "Bottom",

                                                  },

                                                  {

                                                      type: "static_text",

                                                      item_id: "sta2",

                                                      name: "Margin (inches):",

                                                  },

                                                  {

                                                      type: "edit_text",

                                                      item_id: "MrgV",

                                                      variable_Name: "nMarginY",

                                                      char_width: 8,

                                                  },

                                              ]

                                          },

                                      ]

                                  },

                                  {

                                      type: "cluster",

                                      item_id: "cls3",

                                      name: "Page range",

                                      align_children: "align_row",

                                      elements:

                                      [

                                          {

                                              type: "radio",

                                              item_id: "rAll",

                                              group_id: "GRP1",

                                              name: "All",

                                              variable_Name: "strPgRangeSel",

                                              height: 20,

                                          },

                                          {

                                              type: "radio",

                                              item_id: "rCur",

                                              group_id: "GRP1",

                                              name: "Current (Applies only to Open Document)",

                                              height: 20,

                                          },

                                          {

                                              type: "radio",

                                              item_id: "rFro",

                                              group_id: "GRP1",

                                              name: "From:",

                                              width: 12,

                                              height: 24,

                                          },

                                          {

                                              type: "edit_text",

                                              item_id: "tFPg",

                                              variable_Name: "strStrtPg",

                                              height: 24,

                                              char_width: 6,

                                          },

                                          {

                                              type: "static_text",

                                              item_id: "sta1",

                                              name: "To:",

                                              height: 24,

                                          },

                                          {

                                              type: "edit_text",

                                              item_id: "tTPg",

                                              variable_Name: "strEndPg",

                                              height: 24,

                                              char_width: 6,

                                          },

                                          {

                                              type: "static_text",

                                              item_id: "sOfN",

                                              name: "of (N)          ",

                                              height: 24,

                                          },

                                      ]

                                  },

                              ]

                          },

                          {

                              type: "view",

                              align_children: "align_row",

                              alignment: "align_fill",

                              elements:

                              [

                                  {

                                      type: "ok_cancel",

                                      ok_name: "Apply",

                                      cancel_name: "Skip",

                                  },

                                  {

                                      type: "button",

                                      item_id: "But1",

                                      name: "Abort Process",

                                  },

                                  {

                                      type: "gap",

                                      item_id: "gap1",

                                      width: 210,

                                      height: 10,

                                  },

                                  {

                                      type: "static_text",

                                      item_id: "sta1",

                                      name: "version 1.2  11/5/2010",

                                      alignment: "align_right",

                                  },

                              ]

                          },

                      ]

                  },

              ]

          }

      };

      }

       

       

       

       

      var oDoc = event.target;

       

       

      if(typeof(oDoc.xfa) == "undefined")

      {

       

       

          global.FileNameStamp.bHidden = oDoc.hidden;

          global.FileNameStamp.nNumPages = oDoc.numPages;

          if(!oDoc.hidden)

             global.FileNameStamp.nCurPage = oDoc.pageNum;

          global.FileNameStamp.strDocTitle = oDoc.info.title;

          global.FileNameStamp.strDocFileName = oDoc.documentFileName;

       

       

       

          var cRtn = global.FileNameStamp.DoDialog();

          if("ok" == cRtn)

          {

              // Setup starting parameters

              var nPgStart, nPgEnd;

              var nTextSize = Number(global.FileNameStamp.strFontSize);

              var strLabel = global.FileNameStamp.strDocStamp.replace(/\n/g,"\r");

       

       

              // Get Font Color

              rgCol = /([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})/i;

              rgCol.test(global.FileNameStamp.strFontColor);

              var aFontCol = ["RGB", parseInt(RegExp.$1,16)/255,

                              parseInt(RegExp.$2,16)/255, parseInt(RegExp.$3,16)/255];

       

       

       

              switch(global.FileNameStamp.strPgRangeSel)

              {

                case "rAll":

                  nPgStart = 0;

                  nPgEnd = oDoc.numPages -1;

                  break;

                case "rCur":

                  nPgEnd = nPgStart = oDoc.hidden?0:oDoc.pageNum;

                  break;

                case "rFro":

                  nPgStart = Number(global.FileNameStamp.strStrtPg)-1;

                  if(nPgStart > (oDoc.numPages -1))

                    nPgStart = oDoc.numPages -1;

       

                  nPgEnd = Number(global.FileNameStamp.strEndPg)-1;

                  if(nPgEnd > (oDoc.numPages -1))

                    nPgEnd = oDoc.numPages -1;

                  break;

              }

       

       

                 var nTextAlign,nHAlign,nVAlign;

                 var nHMarg, nVMarg;

                 var nMargX = Number(global.FileNameStamp.nMarginX) * 72;

                 switch(global.FileNameStamp.strHorzPos)

                 {

                    case"PosL":

                      nTextAlign = app.constants.align.left; // Left Aligned Text

                      nHAlign = app.constants.align.left;

                      nHMarg = nMargX;

                      break;

                    case"PosC":

                      nTextAlign = app.constants.align.center;

                      nHAlign = app.constants.align.center;

                      nHMarg = 0;

                      break;

                    case"PosR":

                      nTextAlign = app.constants.align.right;

                      nHAlign = app.constants.align.right;

                      nHMarg = -nMargX;

                      break;

                 }

       

                 var nMargY = Number(global.FileNameStamp.nMarginY) * 72;

       

                 switch(global.FileNameStamp.strVertPos)

                 {

                    case"PosT":

                      nVAlign = app.constants.align.top;

                      nVMarg = -nMargY;

                      break;

                    case"PosM":

                      nVAlign = app.constants.align.center;

                      nVMarg = 0;

                      break;

                    case"PosB":

                      nVAlign = app.constants.align.bottom;

                      nVMarg = nMargY;

                      break;

                 }

       

               // Find and rename watermark;

               var aGs = oDoc.getOCGs();

               for(var i=0;aGs && (i<aGs.length);i++)

               {

                  if(aGs[i].name == "Watermark");

                     aGs[i].name = "Old_Watermark";

               }

       

       

               try{

                //  Create watermark

                oDoc.addWatermarkFromText({cText:strLabel, nTextAlign:nTextAlign, cFont:global.FileNameStamp.strFontName,

                      nFontSize:nTextSize, aColor:aFontCol, nStart:nPgStart, nEnd:nPgEnd,

                      nHorizAlign:nHAlign, nHorizValue:nHMarg,

                      nVertAlign:nVAlign, nVertValue:nVMarg});

               }catch(e){

                  app.alert("Error applying Label:\n" + e);

               }

       

       

               // Find and rename watermark;

               var aGs = oDoc.getOCGs();

               for(var i=0;aGs && (i<aGs.length);i++)

               {

                  if(aGs[i].name == "Watermark");

                  {

                     aGs[i].name = "DocumentLabel";

                     break;

                  }

               }

          }

          else if(cRtn == "Abrt")

            event.rc = false;

      }   

      else

      {

         if(3 == app.alert(oDoc.documentFileName + ": is a LiveCycle Form, which cannot be labeled\n\n Do you want to continue processing files? (Pressing No will Abort the file processing)",1,2))

           event.rc = false;

      }  

        • 1. Re: File Name Stamper
          George_Johnson MVP & Adobe Community Professional

          It would be possible to do what you want, but it would involve considerable reprogramming. Maybe Thom willl do it for you.

          1 person found this helpful
          • 2. Re: File Name Stamper
            Joe Sacramento Level 1

            George,

             

            Many thanks for trying.

             

            Would you know if I could find a code that would do something similar?

             

            I simply want to insert the actual filename of the PDF inside the document, preferably on the header of the document.

            • 3. Re: File Name Stamper
              George_Johnson MVP & Adobe Community Professional

              There are a number of simpler ways to do this. Thom's Action is great, but sounds like it might be overkill for this. Text can be added a numer of ways, including a form field, text annotation, layer (aka Watermark, as with Thom's script), and stamp. It can also then be flattened so it gets converted to regular page contents, preventing the user from interacting with it and perhaps changing it. Which you choose depends on you needs. If you provide a bit more description, I could suggest a simpler script you can use.

               

              Also, please clarify exactly what you want included. Do you want just the file name (example.pdf), the file name without the extension (example), or the complete path (c:\dir1\dir2\example.pdf)?

              • 4. Re: File Name Stamper
                Joe Sacramento Level 1

                1. I have 1000+ PDF files that need the filenames stamped on the header of the document. Only the filename, without the extension (example).

                 

                2. I would like to be able to change the font type, size and header margins, because the filenames are long.

                 

                3. I would like to output the files to a folder.

                 

                George, thank you very much.

                • 5. Re: File Name Stamper
                  George_Johnson MVP & Adobe Community Professional

                  One more thing, do you need it to be dynamic so that if the file name changes, the display of the file name is automatically updated whenever it is opened? If you use a form field for this, this is possible, and it's also possible to set the field to automatically adjust the size of the font in an ettempt to display the entire file name, down to a minimum size of 4.

                  • 6. Re: File Name Stamper
                    Joe Sacramento Level 1

                    Hi George, the PDF files don't need to be dynamic.

                    • 7. Re: File Name Stamper
                      gkaiseril MVP & Adobe Community Professional

                      Have you considered rethinking about using the annotation stamp for this. Annotations do not always print and by default they do not print. Then there is the issue that your file name stamp will print in an annotation/comments summary.

                       

                      You can can add the file name when adding a header or footer or even in a form field. Header and footers will always print but fields could be set not to print.

                       

                      You also should consider that a file could be renamed and you might need to allow for this action.

                      • 8. Re: File Name Stamper
                        Joe Sacramento Level 1

                        Thanks. However, we need to print the PDFs for shipment production, and the filename will be needed to print...

                        • 9. Re: File Name Stamper
                          gkaiseril MVP & Adobe Community Professional

                          Then I would go with a form field or adding a header or footer. These actions would need to be scripted and could be added as a menu item, toolbar button, batch process, or a will print action.

                           

                          If you use Acrobat to add the field, then you could use a will print action to insert the field name before the PDF is printed. This would update the field name just before printing. You could even use a Will Save action to update the field name before the PDF is saved.

                          • 10. Re: File Name Stamper
                            Joe Sacramento Level 1

                            Appreciate the advice. Do you have any suggestions on how to script the action? I am a doctor with zero expertise on programming.

                             

                            Thank you kindly.