Donnez vie à vos documents numériques !

MagicDate picker

The best date-picker ever made for PDF forms!


Since Adobe has integrated a mini date picker that automatically appears in Acrobat DC, the interest of MagicDate has been greatly reduced, although it is much more beautiful and it offers more features.
So if you have special needs (format, language …) do not hesitate to use MagicDate.


  • User friendly
  • All date formats are possible
  • The week can start on Monday or Sunday
  • Easy implementation by copying and pasting
  • Unlimited number of DATE fields in a single form
  • Unlimited number of DATE fields on the same page
  • No ads, no URL, no embarrassing mention for your customers
  • True JavaScript window: highly reactive calendar, never latency and no display bug
  • True JavaScript window: user interface in harmony with the software and the operating system
  • Runs on Windows and Mac OS with Acrobat Reader and other PDF reader software that supports JavaScript
  • Automatic adjustment of the language depending on the version of the end-user software
    (28 available in Acrobat Reader DC, see some examples below)



Why MagicDate?

Using MagicDate: a click in a DATE field and the end-user can choose directly!

  • MagicDate let users jumps to months or years.
  • MagicDate is an “all-JavaScript” utility that adds no additional field: only field that displays the date is used.
  • MagicDate is always reactive, one or 200 DATE fields in a PDF form does not change its performance.
  • MagicDate is not a labyrinthine system using multiple hidden form field that would penalize computing performance and display of your forms.

MagicDate démonstration


Acrobat Pro is the software needed to create interactive PDF forms.
Acrobat Reader (eg Adobe Reader) is a free software that lets end-users use PDF forms benefiting from their interactive features. This is the most common software but interactive PDF forms also work with other PDF reader software that supports JavaScript, free or paid, Adobe and not Adobe.

MagicDate has been tested with versions 9 up to DC (current version) of Acrobat and Reader, there is no reason why it does not work with older versions but it cannot be guaranteed.



Why is MagicDate presented as the best?

Because it’s the most beautiful, the most effective, simplest and cheapest.

This self-proclamation is not misused, it is just obvious when you know what’s available elsewhere. It is best to judge for yourself:

MagicDate pour Windows



Download MagicDate


Unrestricted license

Buy Download MagicDate once and use it in all your forms.

Use MagicDate as many times as you want in your forms or those of your clients, there are no usage limits.

€59 only! FREE !

Advanced customizations

MagicDate comes with the most common date formats, but you can customize the calendar selector if necessary.
If the proposed date formats suit you do not need to read this.

Three parameters can be modified:

  • The beginning of the week: Monday or Sunday.
  • The date format
  • The landing field


The script to customize is in each DATE field: Text Field Properties > Actions > Mouse Down


But do not panic, any knowledge of JavaScript is necessary, because things are well done and because he simply activate or deactivate pre-existing script lines to change these settings.

  • A disabled line of script must starts with a double slash //
  • An enabled line of script starts with nothing.

And if we inadvertently left several lines of scripts activated at the same time it would not be very serious: JavaScript is the last active lines is taken into account.


• Beginning of the week

This is the simplest parameter to manage because it has only two possible values: Monday or Sunday.

These are the 14 and 15 lines of the script, in the first block.
You must modify the position of the double slash // and not change anything else.

These two lines of script means that the beginning of the week is set to Monday (“Lundi” in French language), because the former is enabled and the second is disabled:

var debut2semaine = "LUN";
// var debut2semaine = "DIM";


Conversely, these two lines of script mean that the beginning of the week is set to Sunday (“Dimanche” in French language):

// var debut2semaine = "LUN";
var debut2semaine = "DIM";


• Date format (yyyy-mm-dd)

WARNING: the date format is determined by the script and only by the script.
This means that pre-existing date formats provided by Acrobat in the Text Field Properties: Format: Date will not help.
On the contrary, if the date format used in the Text Field Properties: Format: Date does not match exactly to the format determined by the script, the field will not display anything at all. Without any warning nor error messages.

However, there may be many good reasons to still use a pre-existing date formats in Acrobat. For example if we think for disabled users and those who prefer to enter the date with the keyboard.
In which case it is imperative that the date format specified in the Text Field Properties: Format: Date match exactly to the date format determined by the script.


MagicDate formats:

var format2date = "yyyy-mm-dd"; // ISO international format
// var format2date = "mm/dd/yyyy" ; // US format short
// var format2date = "mm-dd-yyyy" ; // US format short with dashes
// var format2date = "mmm d, yyyy" ; // US format
// var format2date = "dd/mm/yyyy" ; // format français court
// var format2date = "dd-mm-yyyy" ; // format français court avec tirets
// var format2date = "d mmmm yyyy" ; // format français
// var format2date = "dddd d mmmm yyyy" ; // format français long
  • You can add as many lines as necessary to add custom date formats.
  • You can possibly remove useless commented lines, the dynamic calendar requires just one active line.


Available formats:

JavaScript date formats



• Landing field

It is the one in which will display the selected date on the calendar. The default is the one on which the end-user clicks, but it is not mandatory.

MagicDate comes with a button field feeding a landing text field, so using a single calendar picker in a form is not an issue, just copy-paste the two fields concerned.

By-cons if you want several buttons with multiple landing fields in the same form you must know that each button must have a unique field name, and each landing field too.

Change the name of the button field as usual (Text Field Properties > General), and change the name of the landing field in the script contained in each button, line 33 in the third block.

champDate = this.getField("FIELD-NAME");

Simply replace FIELD-NAME by the real name of the landing field.



FAQ, Help & support

  • Can I delete the reference “JavaScript Window” that appears in the title bar and in the body of the window?

Not alas, Adobe believes that compulsory mention for “security reasons”. There are certainly good but I do not know them.


  • What languages are available for the MagicDate picker?

These are those available in Acrobat (Reader Pro and Standard). See them in Acrobat Pro Preferences, in the Language panel: the first dropdown list all.



Another question? A comment?



Print Friendly, PDF & Email