Modify Dynamic PDF Stamps in Acrobat

Adobe Acrobat comes with a number of dynamic PDF stamps. You can select them by going to the Comment pane on the right side, then click on the Stamp tool to bring up the list of stamps. All the factory default dynamic stamps are in the “Dynamic” category:

2014 01 31 11 22 03

What if we need a dynamic stamp that is not in the list? Let’s assume we need a stamp that is very similar to the “Received” stamp, but instead of the term “RECEIVED”, it should say “PREPARED”… The rest of this blog post will explain how you can take an existing dynamic stamp, copy it and modify it so that it fits your workflow.

First, we need to find out where these stamps are located. The good news here is that Acrobat can actually tell us by using one line of JavaScript. Take a look at my post titled “Acrobat JavaScripts – Where do they go?” to learn about the App.getPath() command. To get the location of the application level stamps, we would use the following JavaScript command in the JavaScript console:

app.getPath("app", "stamps");

On a Windows system we would either get C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\plug_ins\Annotations\Stamps or C:\Program Files\Adobe\Acrobat 11.0\Acrobat\plug_ins\Annotations\Stamps – depending on if we are running on a 32bit or 64bit version of the operating system. On a Mac, Acrobat would report /Applications/Adobe Acrobat XI Pro/Adobe Acrobat Pro.app/Contents/Built-in/Comments.acroplugin/Stamps/.

When we look in these directories, we would find sub-directories (one or more, depending on the type of Acrobat installation) for different languages. For English, we would use the ENU directory.

In this directory are all the stamp files that Acrobat comes with. The one we are interested in is the file Dynamic.pdf. When we open this in Acrobat, we can see that there is one page per stamp. To duplicate e.g. the Received stamp, we can use the technique I described in my blog post “Duplicate a Page in Adobe Acrobat”. Once you have a second copy of this stamp in your document, make sure that you work with the copy and not the original stamp.

When we go to the page that contains our copy of the Received stamp, we can modify it.Let’s start this by adding the new text just above the current stamp. To do that, we need to use the Tools>Content Editing>Add Text function.

2014 01 31 11 50 47

Now we can click on the blank space above the stamp and start to type “Prepared”. To match the color and the font, select the just typed text and change the font to Arial, Arial Unicode MS or Helvetica, click on the Bold and Italics button, set the font size to 20 and adjust the color by clicking on the black box to the right of the font size. I measured the color in Illustrator, and it’s R=24, G=37 and B=100.

2014 01 31 11 52 39

Now that we have our new text, it’s time to remove the old text. Unfortunately, we don’t have “real” text for the “RECEIVED” string, every character is its own path, and we need to remove the text character by character. To do that, select the “Edit Text & Images” tool and click on e.g. the “D”. Now you can delete this character by using the Delete key (or fn-Delete on a Mac).2014 01 31 11 53 37

Do this for all characters in “RECEIVED”:

2014 01 31 11 54 32

To move the new text, we still use the “Edit Text & Images” tool. Select the text again, and move the cursor over the outline of the text until you see the “Move” cursor:

2014 01 31 11 55 05

Now click and move the text to its correct position:

2014 01 31 11 55 40

At this point, the new stamp image is correct. All we need to do know is to “tell” Acrobat that this is a stamp, and by what name it should be referred to. This is done in the “Page Templates” tool. Select Tools>Document Processing>Page Templates to activate it. If “Document Processing” is not in the Tools pane, you need to click on the little “Show or hide panels” menu icon at the top of the pane and enable it.

2014 01 31 11 56 15

Activating the Page Templates tool will display the Page Templates dialog. Before you do that, make sure that our new stamp is still the active page in Acrobat. Enter the following string in the “Name” field: #DPrepared=Prepared and click on the “Add” button. Acknowledge that you want to convert your active page to a template, and close the dialog.

2014 01 31 11 57 23

At this point you can save the updated stamp file. Depending on which operating system you are on, saving back to the original file will just work, or you will have to save to a temporary location (e.g. your Desktop), then quit Acrobat and move the file to its correct location.

The new stamp is now ready to be used, all you need to do is restart Acrobat so that it re-reads the stamp files.

This entry was posted in Acrobat, PDF, Tutorial and tagged , , , , . Bookmark the permalink.

133 Responses to Modify Dynamic PDF Stamps in Acrobat

  1. Loretta Cable says:

    Question: I have a signature stamp wherein I need to add an accounting code each time I use it. On a previous version of Acrobat (I have Pro XI), I could place the stamp where I wanted it on the page and then add a text box on top of the stamp. Since I was upgraded to vXI, I can’t get the text box to show up. It’s created but just doesn’t show up on the page and won’t print. Is there a way to modify my signature stamp so that I can add that accounting code, similar to the Dynamic stamps you reference above?

  2. Karl Heinz Kremer says:

    Loretta, yes you can do that. This would however not be modifying an existing stamp, but creating a new stamp that has both an image and a form field.

  3. Waqas Khan says:

    Hi Karl, your article about stamps is very good. I have a question about the storage of the customized stamps. Where can I find the customized stamp that I made, it wasn’t in the regular stamps folder in “annotations”..

    Thanks in advance..

  4. Karl Heinz Kremer says:

    Waqas, the stamps are stored in either the user or the system stamp folder, just as I’ve explained in the article. Have you checked both folders?

  5. Laura M says:

    The stamp is still not adding in the dynamic fields?

  6. Karl Heinz Kremer says:

    Laura, I don’t understand what you mean. Can you please elaborate.

  7. Laura M says:

    I was able to copy an existing stamp, but when I use it, it is just a copy of the same date and time of when I copied. How do I adjust the script.

    What I am trying to do, is take the existing Revised stamp, but add the author/identity portion to the script, and not just date and time, is there a way to do that?

  8. Laura M says:

    I figured it out!

  9. Cherise says:

    Hi Laura M.,

    I’m having the same problem. Can you please share the solution with me? Thanks!

  10. Ewan says:

    Hi there, I’ve been reading your guide but as I am so unfamiliar with JavaScript I am still lost. I posted this question on programmers stack exchange. I would be very grateful if someone could take a look.

    https://programmers.stackexchange.com/questions/272076/javascript-coding-for-use-in-adobe-acrobat-professional

  11. Karl Heinz Kremer says:

    Ewan, have a look at one of my other stamp related posts: http://khkonsulting.com/2009/05/more-interactive-dynamic-stamps-in-seven-easy-steps/

    This will explain how to create a dynamic stamp from scratch. In addition to that, review the “Dynamic Stamp Secrets” post on AcrobatUsers: https://acrobatusers.com/tutorials/dynamic_stamp_secrets

    The only thing you still need would be code to show a dialog that can ask the user for both Name and Date information in one dialog. That’s a bit more involved. I suggest that you review the documentation for app.execDialog() in the Acrobat SDK: http://help.adobe.com/livedocs/acrobat_sdk/11/Acrobat11_HTMLHelp/wwhelp/wwhimpl/common/html/wwhelp.htm?context=Acrobat11_HTMLHelp&file=JS_API_AcroJS.89.147.html

    There is code for same sample dialogs on that page as well.

    I’ve created a quick&dirty version of such a stamp (but it has three fields), which you an download from here: http://khkonsulting.com/files/blog/ThreeFields.pdf
    You should be able to take the Javascript code from the calculation event for the Name field and apply it to your own stamp file.

  12. Ewan says:

    I’ve read elsewhere that text fields in stamps cannot be edited once they have been placed. Is this correct?

    What I would like to achieve is only worth doing if this is possible

  13. Karl Heinz Kremer says:

    Ewan, yes, that is correct. Once a stamp is placed, the fields are “flattened”, the information is no longer stored in a field, and can therefore no longer be edited by the user. The user can remove the stamp completely and start over, but the information on the stamp cannot be changed.

  14. Billy says:

    Thank you for tutorial. I was able to create a prepared dynamic stamp. I have coworkers who could use this stamp as well and have a quick question. Instead of them trying to follow the above steps and save some time can I email them the dynamic pdf file with all the stamps in it including my new stamp, have them save the file to the correct folder, and overwrite their original dynamic file?

  15. Karl Heinz Kremer says:

    Billy, yes, you can just send them your stamp file. There is nothing unique about this file on your system, you can share it, and it will work on every computer you install it on.

  16. Leah Ford says:

    Is there a way to edit the opacity of all the Dynamic stamps at once rather than individually as you use them on a document?

  17. Earl Thompson says:

    My Acrobat IX Pro quit printing my stamps. How can I fix that?

  18. Karl Heinz Kremer says:

    Earl, that’s very likely due to a setting on the print dialog. Make sure that “Document and Markup” is selected in the “Comments & Forms” group.

  19. Karl Heinz Kremer says:

    Leah, I don’t think you can do that.

  20. Earl Thompson says:

    Karl,
    Thanks for the super quick reply. I can’t find a “Comments & Forms” group in my Acrobat 9 Pro, not can I find a “Document and Markup” selection in any of the menus.

  21. Karl Heinz Kremer says:

    Earl, the information from my reply assumed Adobe Acrobat/Reader XI. But, I just checked in my copy of Acrobat 9 Pro (on a Mac, I don’t have the Windows version), and I do see a “Comments and Forms” as well – it’s on the left half of the dialog right about in the middle of the page preview, between “Subset” and “Page Scaling”.

  22. David S. says:

    Can you create a custom dynamic stamp in Acrobat Pro and then use it in Adobe Reader?

    If so how do I get the custom stamp in Reader?

    Thanks in advance!!

  23. Karl Heinz Kremer says:

    David, yes, you can do that, but you will have to keep the limitations of Reader in mind when you develop the custom stamp. You would install the custom stamp (which is a PDF file) in Reader’s stamp directory. Where that is depends on the version of Reader and your operating system.

  24. Laurie says:

    Is there a way to change the color a Dynamic Stamp? I found out how to change the color of the pop up, but I want the actual Received stamp to be a different color. We have multiple users and I want mine to be different then the rest.

    Thank you.

  25. Anita Maudhoo says:

    Hi

    I have a custom stamp in Adobe pro that I created that I need to add to a each page of a large document. Is there a way to add it to all the pages at once versus stamping each page individually.

  26. Benjamin says:

    Finally put this all together, using this:
    With this from DebRif: in Help with Dynamic Stamp on forums.adobe.com

    var cAsk = “Enter Bulletin Number” ;
    var cTitle = “Bulletin Number: “;
    if(event.source.forReal && (event.source.stampName == “#4-T8yKAAEuISpm9hHP0NdD”))
    {
    var cMsg = app.response(cAsk, cTitle);
    event.value = cMsg;
    event.source.source.info.exhibit = cMsg;
    }


    My additional Notes:
    To add more clarification to this super fun stamps game I’ve been trying to play for the better part of 2 or 3 days now, going to try to blurt this out quickly so I can get dinner.
    Here is a solution to adding all the stamps you used to have into new Acrobat (as the whole “just copy the file into the Roaming Acrobat Stamps folder” didn’t do anything for me)
    in Acrobat, create a new custom stamp, with whatever, this results in the crazy file name in the user stamp folder.
    Take your old stamps file, rename it to this file name, (and put into the Title field of that acrobat properties the Name of the Stamps you’d like them to be contained under, this will be what shows up when you bring up the stamp tool.
    And the whole dynamic stamp gobblygook above with the #crapblahsputting name, do away with that to make java and forms easier by opening page templates and just going through and making sure the pages in your file are accounted for and if you have the #crazyname then change it to something like #KISS=Keep it Simple Stupid (the Keep it Simple Stupid, will be what shows up if you were to show Stamp Names in Acrobat) and now when you try to do other Forms Java scripting you can just say event.source.stampName == “#KISS” and life will be easier
    Also in the organize page menu drag the files around so they can be in a better order than just how you added them into Stamp originally.
    You can drag in new files to this stamp file as well in the future too, just be sure to go to the page templates and get that page a name, #KISS2=Keep it Simple Squared
    I hope this also saves someone the frustration of this Stamp world, I’m sure that now that I’ve FINALLY figured it out, Adobe will remove the feature.

  27. Scott says:

    Karl,
    I have a document with mulitple sheets, is there a way of putting the stamp on the first sheet and having it automatically coming up on each sheet after or does the stamp have to be placed on manually for each sheet?

  28. Karl Heinz Kremer says:

    Scott,

    you can automate a stamp so that it places itself on multiple pages, but that involves a good bit of JavaScript and is a bit too much for a discussion in this forum.

  29. Tracey says:

    I have created a stamp. Thank you. However, when I use the stamp its “box size” is larger than the stamp. Is there a way I can make them the same? I have Acrobat X Pro. Others here have just Creator and their box sizes are the same as the stamp.
    Also, the fill color disappears on the copied or edited stamp. Why would that happen?
    Thanks

  30. Karl Heinz Kremer says:

    Tracey, Acrobat usually strips out all “border” around the stamp. Is it possible that you have something in that border area (which may just be one pixel)? Without seeing the stamp, it’s hard to say what’s going on.

  31. Sue Partin says:

    Hi Karl — Is there a simple Javascript code to add a set number of days to today’s date on a custom stamp? I’m told that Acrobat has its own “flavor” of Javascript and most of the solutions I’ve tried aren’t working. Today is June 16th, so I’d like a stamp that I insert today to display the date as June 23, 2015. Existing code is:

    event.value = (new Date ()).toString();
    AFDate_FormatEx(“mmm dd, yyyy”);

    Thanks!

  32. Karl Heinz Kremer says:

    These three lines should do the trick:

    var d = new Date();
    d.setDate(d.getDate() + 7); 
    event.value = util.printd("mmm dd, yyyy", d);
    
  33. Sue Partin says:

    Your solution did the trick indeed! Thank you for presenting in three simple lines what others (online) insisted couldn’t be done in fewer than 20. I appreciate the help!

  34. Ann says:

    Hi Karl,

    I had been using the dynamice stamp “Received” without any issues and now for some reason it won’t print on the page but it shows on the document on screen. I’ve gone through everything I can think of and am not sure what to try next. My drivers and software are up to date so I’m not sure what changed that is preventing the stamp from printing.

  35. Karl Heinz Kremer says:

    Ann, on the print dialog, there is a section labeled “Comments & Forms” – make sure that “Document and Markups” is selected in the first dropdown list under that group. Otherwise, stamps and other markup (comments or annotations) will not print.

  36. Jan Keussink says:

    My Problem:

    a) I try to safe a file with a new filename as part of a dynamic stamp, I set up the trusted function and got it to save the file and not the stamp file, but it files the file without the stamp on it.

    The code on the dynamic stamp dialog box is:

    if (event.source && event.source.forReal && (event.source.stampName == “#rz6DIk5xDiBRYdau2bWrIC”)) {
    if (“ok” == app.execDialog(dialog)) {

    this.getField(“CheckBox1”).checkThisBox(0, dialog.bR1);
    this.getField(“CheckBox2”).checkThisBox(0, dialog.bR2);
    this.getField(“CheckBox3”).checkThisBox(0, dialog.bR3);
    this.getField(“CheckBox4”).checkThisBox(0, dialog.bR4);
    this.getField(“CheckBoxF”).checkThisBox(0, dialog.bChk1);
    this.getField(“DocNo”).value = dialog.DocNo;
    this.getField(“DocRev”).value = dialog.DocRev;

    event.source.source.info.FileName = event.source.source.documentFileName;
    event.source.source.info.JDocNo = this.getField(“DocNo”).value;
    event.source.source.info.JDocRev = this.getField(“DocRev”).value;

    //if (this.getField(“CheckBox1”).checkThisBox(0)) event.source.source.info.JordApprovalStatus = “Approved”;

    if (this.getField(“CheckBoxF”).isBoxChecked(0)) {
    var fileName = this.getField(“DocNo”).valueAsString + “_r” + this.getField(“DocRev”).valueAsString;

    try {
    var oRetn = myTrustedBrowseForDoc({
    bSave: true,
    cFilenameInit: fileName + “.pdf”
    });
    try {
    myTrustedSaveAs(event.source.source, {
    cPath: oRetn.cPath,
    cFS: oRetn.cFS
    });

    } catch (e) {
    console.println(“Save not allowed, perhaps readonly.”);
    }
    } catch (e) {
    console.println(“Failed”);
    }
    }

    }
    }

    b) My Dynamic Stamp does also have code to save some metadata to the file. It work in Acrobat 9 Pro, but fails in Acrobat Reader DC:

    event.source.source.info.JDocNo = this.getField(“DocNo”).value;

    Can anyone help ??

  37. Karl Heinz Kremer says:

    Jan, in regards to your first question: The stamp script runs before the stamp is actually applied to the document, that’s why you get the newly saved document reflect the state of the document just before the stamp was applied. There is nothing you can do in the stamp script to get around this.

    The problem with the custom meta data and the free Reader is nothing new: Adobe Reader cannot modify meta data via JavaScript (see the documentation for more information: http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FJavaScript_API.htm%23TOC_info1bc-353&rhtocid=_6_1_8_38_20)

  38. Jan Keussink says:

    Thanks !!!

  39. Wayne Mars says:

    Hello, I have a purchase order stamp that I made into a PDF. I added it to the Dynamic section in my Adobe Acrobat X. So what I’m try to do is select the stamp and place it on a PDF sheet (the subs proposal), and then insert text in the Amount field, Order by. etc.. I can’t insert text on the PO stamp that I have saved on Dynamic. What am I doing wrong here?

  40. Karl Heinz Kremer says:

    Wayne, you need to add form fields and JavaScript to a static PDF file in order to convert it to a dynamic stamp. Just saving it in the “Dynamic Stamp” hierarchy will not do that. There are tutorials out there that describe how to do that. Here is one for example: https://acrobatusers.com/tutorials/dynamic_stamp_secrets

    There is also a book about dynamic stamps: http://www.pdfscripting.com/public/All-About-PDF-Stamps-in-Acrobat-and-Paperless-Workflows-The-Book.cfm

    If you need professional help with your stamp, please feel free to get in touch with me: That’s (among other things) what I do as part of my consulting business. My email address is on the About page: http://khkonsulting.com/about/

  41. Stacy says:

    I created a new dynamic stamp(with the copy function above) and now in the stamp collection it shows the “Approved” stamp multiple times and the new stamp I created is no longer there ? any suggestions ?

  42. Karl Heinz Kremer says:

    Stacy, unfortunately, things like this are really hard to diagnose from a distance. Without seeing your stamp file, it’s impossible to say what’s going on.

  43. Melinda says:

    I have Rick Borstein’s dynamic Paid and Received stamps. Weekly, I create one doc with all my invoices, and as I pay them, I stamp them Paid. If I don’t finish that day, the next day the stamp repeats the previous date of the already-stamped pages instead of using the current date. To fix it, I copied the calculated contents of the Adobe-provided dynamic stamps and replaced the Calculation part – even with the new calculation, if there are pages already stamped, the date will not advance. I also tried flattening all comments, saving and re-opening – still, the same earlier date.

    Here is the original calculation script:

    var f=this.getField(“paidauto”);{
    f.value = (new Date()).toString();
    AFDate_FormatEx(“mmm dd, yyyy”);
    }

    Here is the calculated script of the Adobe dynamic stamp I pasted in:

    event.value = (new Date()).toString();
    AFDate_FormatEx(“h:MM tt, mmm dd, yyyy”);
    event.value = “By ” + ((!identity.name || identity.loginName != (event.source.source || this).Collab.user) ? (event.source.source || this).Collab.user : identity.name)
    + ” at ” + event.value;

    What can I do to make this stamp use the current date every time I stamp? I’m using Acrobat DC on Windows 7. Thank you for any help!

  44. Karl Heinz Kremer says:

    Melinda, what is your stamp’s internal name (the name that you use in the page template)?

    You should see something like

    #InternalStampName=Displayed Stamp Name

    Make sure that the string starts with “#” – this is the trigger for Acrobat to evaluate the JavaScript every time you place the stamp. If that does not fix your problem, let me know and I will dig a bit deeper.

  45. Melinda says:

    Thanks so much for your help! I truly appreciate it. I tried using the console to get the name, and get this for every stamp I try it with

    this.selectedAnnots[0].AP
    TypeError: this.selectedAnnots is null
    1:Console:Exec
    undefined

    When I use this code in the Paid stamp in place of the Name/date code:
    code event.value = event.source.stampName;
    console.println(“Stamp Name: ” + event.source.stampName);

    it returns paidauto but it doesn’t say Stamp Name: paidauto, so maybe the code isn’t correct.

    I also found your answer at https://answers.acrobatusers.com/Change-unique-internal-Stamp-q106568.aspx but there is no “Tools > Document Processing” in Acrobat DC. So I don’t know how to locate and change the internal name of the stamp in Acrobat DC! I guess this is just beyond my capabilities to read online and reproduce actions…

  46. Karl Heinz Kremer says:

    Melinda – you need to select a stamp before

    this.selectedAnnots[0].AP

    gives you valid output. To use the Page Template tool in Acrobat DC, select the “Tools” header and then go to “Organize Pages”. Under “More…”, you will now find the Page Templates tool.

  47. Melinda says:

    Thank you! Using Page templates under Tools > Organize Pages > More allowed me to change the name by adding a hashtag, and that was the solution.

    Thank you!

  48. Jan Keussink says:

    Hi, I read the book about positioning stamps, but it makes my head spin ….

    I want to place a stamp on right bottom corner, and it does it most cases, but some times the stamp is rotated by 90 degree. My code is:

    /* Insert Stamp */
    // get crop box of first page
    var aCrop = this.getPageBox()
    var semiWidth = aCrop[2];
    var semiHeight = aCrop[1];

    var x = semiWidth -50;
    var y = 20 ;
    semiWidth = 30;
    semiHeight = 20;
    var Rect = new Array (x-semiWidth,y-semiHeight,x+semiWidth,y+semiHeight);
    var m = (new Matrix2D).fromRotated(this,0)
    Rect = m.transform(Rect)
    var annot = this.addAnnot
    ({
    page: 0,
    type: “Stamp”,
    name: “_CMU”,
    rect: Rect,
    });

    Can anyone help ??

  49. Karl Heinz Kremer says:

    Jan, you have to take the rotation information of the page into account and then place your stamp based on that. There is a good tutorial here: https://acrobatusers.com/tutorials/auto_placement_annotations

  50. Tony Taylor says:

    I have followed all of these steps and set up new dynamic stamps that look like I want them to look, but once I place them I want them to be un movable and permanent.

    Thank you for your help.

  51. Karl Heinz Kremer says:

    Tony, a dynamic stamp behaves the same way as a “normal” PDF stamp, which means that the user can move the stamp around and potentially remove it again. If you want to “burn in” your stamp after you place it, you need to flatten your document (or the page you’ve placed the stamp on). This can be done e.g. with the free flattening script from the nice folks at PDFScripting.com: http://www.pdfscripting.com/public/Free_Acrobat_Automation_Tools.cfm

  52. Tony Taylor says:

    Thank you sir, I will do so.

    On a side note, is there a way to expand the stamp function to include 5-7 points of data? That would be visible only after clicking on the stamp as a pop up window in the document?

  53. Bill Stump says:

    I’ve created a custom stamp to use in Acrobat, but when I try to rotate the bounding box turns but the actual stamp does not. It just either increases or decreases in size. This is driving me crazy. I’ve tried creating it using a variety of source files, PDF, EPS, JPEG and GIF etc.

  54. Rose Smithson says:

    Hi Karl,

    I am currently using Adobe X Pro at work. I recently got married and therefore changed my name but on the Dynamic stamps, it is still showing my old last name. How do I change it to my married name? I thought this would change automatically when I created a new digital signature, is this not the case? If not, how do I change it?

    Thanks,
    Rose

  55. Tyler says:

    Why would the dynamic date on my custom stamp not update after the day I create it? It updates during the creation process (i.e. when I insert the form), but not when I use the stamp a day later.

  56. Karl Heinz Kremer says:

    Make sure that the internal stamp name starts with “#”.

  57. Tyler says:

    Karl,

    If that response was directed at me, what internal stamp name are you referring to? Acrobat generated “VKBkK-wA71tZNQmx7q0imB” as the stamp file name in the […]/Adobe/Acobat/11.0/Stamps folder.

    New information: The native file, saved on my hard drive, shows the file as having interactive forms, but the “VKBkK-wA71tZNQmx7q0imB” generated by Acrobat does not. I followed a similar procedure earlier this year with no issues, so I’m unsure what I’ve done differently.

    When I access Tools/Document Processing/Page Templates I see:
    “#Yj2mb6pF-dYaAECnBuRxLB=Approved”

    In order to temporarily correct the situation, I simply created a new stamp by opening the native/interactive file, accessing properties, accessing Calculate tab, Custom script, clicking OK without changes. That allows the script to be ran/updated, and the current date shows as is intended.

  58. Karl Heinz Kremer says:

    Tyler, yes, that reply was directed at you. The internal name in your case is “#Yj2mb6pF-dYaAECnBuRxLB” – it does start with a “#”, which is the trigger for Acrobat to run the embedded calculation scripts every time you place the stamp. So, that’s not the problem. Do you get any errors on the JavaScript console? If so, what is the exact error message? What exactly are you using as your calculation script?

  59. Tyler says:

    It appears that Acrobat is flattening/deleting the interactive form (dynamic content) when the stamp is created.

    Native file selected to generate the stamp: interactive
    Acrobat-generated file which IS the stamp: not interactive

    When I attempt to have Acrobat scan for and detect forms, it does not recognize the form that was deleted/flattened.

    Do I need to be adding the interactive content AFTER the stamp is generated by Acrobat?

    My script is:

    event.value = (new Date()).toString();
    AFDate_FormatEx(“mmmm dd, yyyy”);
    event.value = “Issued by: Tyler Haberflagen Issued on: ” + event.value;

    The spaces are used to allow text wrapping to the second line.

  60. Tyler says:

    Any ideas?

  61. Karl Heinz Kremer says:

    Tyler, all interactive fields in a stamp will get converted to static information at the time you apply the stamp. There is nothing you can do about that. It’s just the way PDF stamps work.

  62. Tyler says:

    That was the issue; I needed to add the form to the randomly named file, AFTER creating the custom stamp.

  63. Alvaro says:

    Hello Karl.
    I am using Adobe X Pro – Windows 7. Some times I need to back date some of the documents I handle. I used to be able to do it under Windows XP using the dynamic stamp but now under Windows 7 the systems puts the current date. Is there a way to change the date on the dynamic stamp if needed?

    Thanks in advance.

  64. Karl Heinz Kremer says:

    Alvaro, without knowing more about you problem, it’s impossible to give you any advice.

  65. Suresh Babu says:

    I need create a dynamic stamp for circulation stamp which have 5 columns and 5 rows contain Date and some other information. How can I add more rows each time when I complete first one. also how can I see the preview of the stamp before I actually place the stamp.

  66. Karl Heinz Kremer says:

    Suresh, What you want to do is beyond the limits of what PDF stamps would allow you to do. There is no “preview” available. You provide data, you place the stamp, and if you don’t like it, you delete it and start over. Also, a stamp assumes that you have all the fields already in the stamp, so if you need 5×5 fields, you will have to add 25 fields to your stamp file.

  67. Suresh Babu says:

    Hi Karl
    see the below video, this is one I looking.
    https://www.youtube.com/watch?v=yOUhEDgrDG8

  68. Karl Heinz Kremer says:

    Suresh, the stamp in the video does not have a variable number of rows or columns, it has a fixed grid of fields that are then represented on the stamp.

  69. jacques says:

    Hello Karl.
    I would add in my stamp, after the “name field”, the “function field”. is it possible? what is the syntax ?
    thank you in advance for your help

  70. Karl Heinz Kremer says:

    Jacques, that’s not that simple. If you want to fields, where does the second bit of information come from? If you want the user to enter it, you will have to create a dialog to ask for that information, which requires quite a bit more JavaScript than what we already have in a dynamic stamp.

  71. Jacques says:

    Karl, the “field function” come from preference (identity menu)

  72. Karl Heinz Kremer says:

    Jacques, unfortunately, this still does not explain what you want to do.

  73. Ahsan says:

    The first time I used a dynamic (not a custom) Stamp, a dialogue box showed up to fill info such as Name and company. I misspelled my name when that happened. How can I go to that dialogue box again and fix the name ?

    Thanks,

  74. Karl Heinz Kremer says:

    Ahsan, open up Acrobat’s (or Reader’s) Preferences, and then go to the “Identity” category. You can change your information there. However, this will not change the user name that is associated with the annotations you place. To do that, place a stamp, then select the stamp and right-click and then select “Properties”. Here you can change your name on the “General” tab. Now make sure that you check the “Make Properties Default” checkbox and close the dialog.

  75. Is there anyone I can pay to create a dynamic stamp for me. It’s simple and yet just complicated enough that I don’t “get” how to do it.

  76. Karl Heinz Kremer says:

    Joslyn, that’s one of the many things I do as part of my consulting business. Please get in touch with me (my email address is on the “About” page: http://khkonsulting.com/about).

  77. Crh says:

    I just want to change the name that is printed on the dynamic stamp. It must be super easy, because I can’t even find anything on line that addresses it. I assume it is the name I input when creating my Adobe account, but I need to change it. Any help?

  78. Karl Heinz Kremer says:

    Crh, the name is taken from the “Identity” category in Acrobat’s (or Reader’s) preferences. Just open up the Preference dialog, then select the “Identity” category and you should be able to change your name.

  79. D'Ann says:

    I followed the instructions above and my new stamp was created, but it’s not just the stamp, it’s the entire page! When I select my new stamp there’s a giant white box the size of a page that comes along with it…I hope that makes sense. How do I fix it?

  80. Karl Heinz Kremer says:

    D’Ann, this is caused by your stamp file having too much information (e.g. a white background over the whole page). That would also cause a problem when you place the stamp over existing content – it would cover up that content. The best way to remove that background is to use the “Contents” navigation pane (View>Show/Hide>Navigation Panes>Content), then identifying that background object and removing it. That should then allow Acrobat to correctly determine the size of the actual stamp.

  81. Shoe says:

    I need to know how to backdate within a dynamic stamp. Instead of showing the current date, I want the date reflected in the stamp to show a past date. I believe this question was previously asked by “Alvaro” but was never answered because I guess you did not understand the question. Hopefully, my question is clear. If not, please let me know.

  82. Karl Heinz Kremer says:

    Shoe, should it always be a certain number of days backdated? If I remember correctly, the problem with Alvaro’s question was that it used to work on one version of Windows, but did not anymore on a different version, so it was more about the environment and not how to program the solution – at least that was my interpretation.

    If you want to back-date by e.g. 10 days, you can do that using just standard JavaScript Date operations:

    When you look at any of the standard Acrobat stamps that provide a date, they always use something like this:

        event.value = (new Date()).toString();
    

    This will initialize the stamp’s content with today’s date. To use a different date, you can modify this as follows:

        var theDate = new Date();
        theDate.setDate(theDate.getDate() - 10); // 10 days back
        event.value = theDate.toString();
    
  83. Shoe says:

    Oh, I see! Thanks so much for the information and quick response. I really appreciate it!

  84. Magda says:

    I created a stamp image file and saved it as “PDF” . i can’t find it under the “user” ..”Stamps” . the only folder I can see is my old one.

  85. Karl Heinz Kremer says:

    Magda, I would try again, making sure to follow the instructions step by step. The process works, so if you are not getting the correct results, then one of the steps was not done correctly. Without being able to see your stamp file and where it got stored, it’s unfortunately impossible to say what exactly is wrong.

  86. Patrick says:

    Hi there, not sure if this has been answered already.

    Am I able to a create/Edit these Dynamic stamps using the Java Script with Adobe Acrobat XI Standard or only in the Pro Version?

    Thanks,

  87. Karl Heinz Kremer says:

    You should be able to do it with Adobe Acrobat XI Standard as well, the only potential problem is that you don’t have a simple way to launching the Javascript debugger, but there are ways to do that via a folder level script. Look here for example for the “Reader JavaScript Console” script: http://www.pdfscripting.com/public/Free_Acrobat_Automation_Tools.cfm

  88. Janet says:

    This is amazing. Thank you for the excellent instructions. I saved it to my desktop when I was done. Closed everything. Opened my desktop, copied the Dynamic.pdf, went back to the folder where I first found it, pasted, overwrote the existing and presto. I’ll admit I didn’t follow instruction exact the first time. But the second time it worked like a charm.

  89. Saskia says:

    Hi Karl,
    Hopefully you can help me with this ‘detail’ to dynamic stamps:
    the one I created for my company works fine with MS Windows, but when a colleague using Apple OS wants to implement it, the ‘dynamic’ aspect (date) is lost completely…
    When having to review several 100s of sheets this obviously poses a real problem!
    All online tutorials are solely about newly setting up stamps, not adjusting existing ones.
    I will be forever grateful if you would have a good answer on this 🙂

  90. Karl Heinz Kremer says:

    Saskia, dynamic stamps work the same way on Windows and on the Mac. Unless you are using e.g. a path in the stamp logic that is not valid on a Mac, your stamp should just work. There is one potential problem on a Mac: If you don’t set Adobe Reader or Adobe Acrobat as the default PDF viewer, then Mac OS will use the Preview application, which does not have any dynamic stamp support.

  91. John says:

    I am creating a stamp and would like to have the user input the date. Currently, I have a message box that prompts for a value but it is freeform, Is there a way to limit the response to a date or is there a way to format the response as “mm/dd/yy” Here is what I have so far:

    var cAsk = “Enter Approval Date (Format mm/dd/yy)”;
    var cTitle = “Approval Date”;

    if(event.source.forReal &&
    (event.source.stampName == “#faygw1G_lKLDuxTInwq8fC”))
    {
    var cMsg = app.response(cAsk, cTitle);
    cMsg ;
    event.value = cMsg;
    event.source.source.info.DocumentState = cMsg;

    }

  92. Karl Heinz Kremer says:

    John, you can use any regular Javascript code to test the user provided input, and if it’s not correct, ask for the information again. I would use a regular expression to test if the string is a valid date. You may want to took at a good JavaScript tutorial to learn about regular expressions in JavaScript (this is not specific to Acrobat, any JavaScript implementation supports regular expressions).

  93. Bruce Broda says:

    Hi Karl,
    I would like to check who created the original stamp, as in which computer or login name in the company made the stamp comment. Reason I asked is that anyone can easily rename the author and also the name on the dynamic stamp, hence anyone can just simply put the name of a manager for example and accounting department wouldn’t really know as they rely that what they receive through email, particularly if the person sending the pdf is different to the one who approved e.g., secretary, assistant etc. We don’t print invoices anymore and some invoice is being approved digitally. The only solution I can think of is if there is a “Login name” which then would tell me which computer it came from.

    Thanks Karl.

  94. Karl Heinz Kremer says:

    Bruce, you are correct, it’s easy to place a stamp with faked information. The login name is a bit better than the user name because it cannot be changed, but the only true way to verify who modified a document is by using a digital signature. You can sign a document after you place a stamp, and this will allow any other user to verify that the document was indeed signed by whoever claims to have signed it. You can get access to the login name the same way you access the user’s name. See the Javascript API documentation for more information.

  95. Bruce Broda says:

    Thanks Karl, seems the only way going forward is a procedure for digital signature if there’s no way to confirm the login name.

    Thank you Karl, appreciated.

  96. Klaus Buß says:

    Hello Karl,

    I am trying to create a stamp that prints a number that is incremented with each stamp I place within the same document.
    I have tryed to use persistent global data. But as I understand it, this is saved on the PC(User-Folder). But actually I want to be able to copy the pdf to a different PC the still be able to increment the number from the last saved stamp.
    I also had a look into the DataObjects. The problem with this is, that it is saved in the stamp pdf file?!

    thanks in advance

  97. Karl Heinz Kremer says:

    Klaus, you can store the value in the document’s meta data (e.g. in a custom meta data field). This will work as long as you are using Adobe Acrobat to stamp the document. The free Adobe Reader cannot create custom meta data fields. A data object in the stamped document would also work, but is a lot more work.

  98. Hello.

    Suppose I have a text field on a stamp that has to be updated by a popup dialog that has a combobox who has for example 3 (or more) options where you can choose of and a blank field for free text.
    How can i do this?
    A combobox on a form isn’t that difficult, but i can’t get ik working on a stamp.

    Thanks a lot if somebody can help me.

  99. Nothing in it of a combobox.
    I have read the whole page, but it doesn’t make any sense to me.
    Sorry

  100. Karl Heinz Kremer says:

    Frans, the combobox is called “popup”, and you would need to set the PopupEdit property to create a combo box. Creating custom dialogs is probably the most complex thing you can do within Acrobat’s JavaScript API. I do this for a living, and even I struggle with the complexity of it on a regular basis.

  101. Robert Eby says:

    I’m interested in changing the name on the approved stamp, the previous name/ person has left the company, can you assist me with how?

  102. Karl Heinz Kremer says:

    Robert, that can be done by either changing the “Identity” information in Acrobat’s preferences, or by right-clicking on an existing stamp, bringing up the stamp properties, and then changing the information there and then saving the new stamp configuration as the new default. Which one will work in your case depend on where exactly that name appears.

  103. Tony says:

    Thanks for the post Karl. Worked for me.

  104. Paul says:

    On March 31, 2015 at 6:15pm
    Laurie said: Is there a way to change the color of a Dynamic Stamp? I can not find where it was answered.

  105. Karl Heinz Kremer says:

    Paul, are you referring to the stamps that come with Acrobat (e.g. the Approved or Received stamps)? If so, then no, there is no way to change the color without actually editing the stamp in an application like Adobe Illustrator.

  106. Max says:

    Hi Karl,

    I’ve created a dynamic stamp with fields to fill out – everything works fine. My question is, once the stamp is placed on a document and the document is saved – if I delete the original stamp and try to place it again, I am no longer prompted for the fields – the old stamp simply comes on with the original fields that were filled out – anyway around this? Also, if there are 2 pages on a PDF and I would like to place a stamp on each, it doesn’t work either – I am only prompted for the information once, and the 2nd stamp is a copy of the first. Thanks!

  107. Karl Heinz Kremer says:

    Max, make sure that your internal stamp names starts with a ‘#’ – this is the trigger for Acrobat to run the stamp script every time you place a stamp.

  108. Max says:

    Hi Karl,

    Thanks so much for your help. Once I renamed the internal stamp to start with a #, everything functions as expected.

    Max

  109. Evan Smith says:

    I created a duplicate dynamic stamp using your instructions, but it stamps a full page of white with the stamp a little thing right in the middle. Solution? What am i doing wrong?

  110. Karl Heinz Kremer says:

    Evan, I looked at the file you sent, and the stamp in question is different from the other stamps: The whole page (including the white space around the actual stamp) is an image. Usually, Acrobat crops out any white space around the stamp, but technically, in this case there is no white space around it (even though it looks white, it’s part of the same image). You will need to either crop the page down to just the stamp, or recreate the stamp using tools that will not convert the stamp you are editing to an image.

  111. Tilemachos says:

    Hi, is there any way to flatten the stamp I add immediately upon place it in a document. In order not to be able to delete or copy it in the future. (I mean to flatten the stamp without using any additional free tools for flattening the page – just the stamp to be flattened upon placed). Thanks!

  112. Karl Heinz Kremer says:

    Tilemachos, take a look at this thread over at the Adobe forums (especially the last few comments), it does present a solution based on a timer: https://forums.adobe.com/message/10211094

  113. Tilemachos says:

    Yes I have already checked this, but I have not figured out how to implement the code correctly in the stamp in order the stamp to be flattened when is placed in a document.

    i.e. I have the below simple part of code into a dynamic stamp, which shows the date that the stamp placed and I want upon placed to flatten the document:

    event.value = (new Date()).toString();
    AFDate_FormatEx(“h:MM tt, mmm dd, yyyy”);
    app.setTimeOut(“this.flattenPages()”,500);

    Which works in the dynamic.pdf document where the stamp is located but not in other documents where I place the stamp.

    I do not know much about javascript in adobe (actually I am really new on this) but as I understand the “app.” and “this” cause the script to run only on the current stamp’s dynamic.pdf document.

    Any help on how to modify my code, is appreciated! Thank you very much!

  114. Krista D says:

    Hi Karl,

    I tried to use the “edit text and images” to delete the individual letters from my original stamp but that is not an option for me. When I try to click anywhere on the stamp, nothing happens. I am using Adobe Acrobat Pro. Thank you!

  115. Karl Heinz Kremer says:

    Krista, that very likely means that our stamp does not contain letters because it is either an image, or a vector drawing. In that case, you would have to do a lot more work in e.g. Photoshop or Illustrator to modify the stamp.

  116. Test says:

    Hi,

    I’ve a question about put a stamp on a PDF file and delete the original file.
    What do we do ?
    I open a PDF file on a folder. That can be multiple folders.
    Ex p:\invoice or p:\payment
    When I put the stamp on the PDF document the ‘stamp’ ask some questions.
    Questions like filenumber, company, ….
    Then I have a code (javascript) to copy the file in the folder with a filename the user filled in or choose from the stamp. Example the user has a dropbox with multiple company names.
    To the point :
    I have a PDF Under p:\invoice\test.pdf.
    I open the file test.pdf. I put the stamp.
    The stamp ‘ask’ some questions like ‘For with company’ and ‘filename’.
    Then in the javascript I have a code If company == xxx then save the file Under p:\xxx
    But I want to delete or move the file test.pdf from the p:\invoice folder.
    How can I do that ?
    (the problem is that the user don’t know for with file the user put the stamp on)

    Thanks and regards.

  117. Karl Heinz Kremer says:

    You cannot remove files from within Acrobat’s JavaScript.

  118. sangar says:

    hello karl thank you so much for this article really useful but unfortunately i couldn’t get it to work the way i need it, if you don’t mind would you please create one stamp for me that says Dispatched By Ameer with the date showing and the date should change each eat. thanks

  119. Karl Heinz Kremer says:

    sangar, if you are interested in my professional services, please get in touch with me via email. My email address is on the “About” page.

  120. Vic says:

    Thank you. This article was brilliant, just what I needed to make a “NOTED” stamp. It took me a while to find the tool commands in Acrobat Pro DC but google helped with that.

  121. Debb says:

    Hi Karl, I simply want to remove the time from the received stamp, and leave everything else the same. Is there a way I can do that without duplicating the stamp and editing the duplicate to fit what I need? Thanks in advance for your help!

  122. Karl Heinz Kremer says:

    Debb, I would still duplicate the stamp, just in case you make a mistake, and you want to go back to the original. The “Received” stamp shows two pieces of information, the “By” and the date/time. You can open the stamp file in Adobe Acrobat and then select to edit a form. This will show you the form fields on the different stamps. Go to the page with the Received stamp, and edit the form field. You want to change the “calculation” script. You can replace the whole script with this line:

    event.value = "By " + ((!identity.name || identity.loginName != (event.source.source || this).Collab.user) ? (event.source.source || this).Collab.user : identity.name);

    That should do it.

  123. Todd Worzella says:

    I created my Dynamic stamp from instructions above. Now when I go into Dynamic stamps it is showing the original std 5 dynamic stamps as 1st 5-stamps. It also has those same 5 below with my newly created stamps in the order I had created them.

    Is there a way to just show the newly created ones in the proper location? I don’t need the duplicates of the 5 original dynamic stamps showing up.

  124. Karl Heinz Kremer says:

    Todd, you can remove template pages from the stamp files. Once removed, they will no longer show up as stamps.

  125. David Martin says:

    I am not sure; however, is there a way to make a simple dynamic date stamp in the free adobe reader? All I want to do is be able to put today’s date (whatever that may be) on the document using a stamp.

  126. Sarah Gorman says:

    Thank you for your very informative page here. By chance, is there any update on how to do the Page Template portion of the process now that Page Templates don’t seem to work this way in Acrobat any longer?

    I’ve been able to save my edited Dynamic.pdf with my newly edited dynamic stamp, and even get it to be listed in the stamps I can use. Works great, just doesn’t update with the date and time of the stamp being placed (I used a copy of an existing stamp like your example to make mine say “Created & Reviewed in a different color”). I presume that’s because it wasn’t saved as a page template or something, so the calculation script isn’t running. Your previous responses indicate that saving the internal stamp name with a hash at the the beginning will aleviate this problem – but since I cannot locate how to save as a page template any longer, I’m stuck.

    Thanks in advance for your help.

  127. Karl Heinz Kremer says:

    Sarah, page templates still work the same way, just the user interface has changed. So anything you were able to do in e.g. Acrobat X is still possible in Acrobat DC as long as you can find the correct tools 🙂 I always use the tool search function to find my way around Acrobats tools. This way I don’t have to go through a long hierarchy of user interfaces to get to where I want to be.

  128. Juliet says:

    I successfully created a custom dynamic stamp, but I must have done something wrong because the time stamp won’t update. It’s stuck at the time that I created it. What did I do wrong?

  129. Dee says:

    I have modified a stamp but it comes up as a whole page instead of just the stamp, can you assist please?

  130. Karl Heinz Kremer says:

    Dee, Acrobat crops the whitespace around the stamp and then uses the remaining element as stamp. If there is other stuff on your page besides the stamp, then you have to remove that first. This could be for example a page background. If Acrobat is not picking the right elements, you may have to manually crop the page down to just the stamp.

  131. Karl Heinz Kremer says:

    Juliet, without seeing the stamp, it’s impossible to say what went wrong, but I assume it’s because you did not use # as the first character in the stamp’s internal name. That is a flag that tells Acrobat to run the calculation script every time the stamp is placed.

  132. Karl Heinz Kremer says:

    You need Acrobat Standard or Pro to create stamps.

Leave a Reply

Your email address will not be published. Required fields are marked *