MagicDate sélecteur

Le meilleur sélecteur de date pour formulaires PDF jamais réalisé !

 

  • Licence illimitée
  • Intuitif pour l’utilisateur final
  • Tous les formats de date sont possibles
  • Mise en œuvre très simple par copier-coller
  • La semaine commence le lundi ou le dimanche
  • Nombre de champs DATE illimité sur une même page
  • Nombre de champs DATE illimité dans un même formulaire
  • Pas de publicité, ni d’URL, ni de mention gênante pour vos clients
  • Vraie fenêtre JavaScript : calendrier très réactif, jamais de latence ni de bug d’affichage
  • Vraie fenêtre JavaScript : interface en harmonie avec celle du logiciel et du système d’exploitation
  • Fonctionne sur Windows et Mac OS avec Acrobat Reader et avec les autres logiciels lecteurs de PDF supportant le JavaScript
  • Réglage automatique de la langue en fonction de la version du logiciel de l’utilisateur final
    (28 disponibles dans Acrobat Reader DC, voir quelques exemples ci-dessous)

 

MagicDate pour Windows




 

 

MagicDate, pourquoi faire ?

Dans son logiciel Acrobat Pro, Adobe fourni plusieurs objets et fonctions bien pratiques pour réaliser des formulaires PDF interactifs mais pourtant il en est une qui manquait à l’appel avant octobre 2016 : la possibilité pour l’utilisateur de sélectionner simplement une date dans un calendrier dynamique surgissant.

C’est ce que fait MagicDate : un clic dans un champ DATE et l’utilisateur peut la choisir directement.

  • MagicDate permet à l’utilisateur de changer directement les mois et les années.
  • MagicDate est un utilitaire « tout-JavaScript » qui n’ajoute aucun champ supplémentaire : seul le champ qui affiche la date est utilisé.
  • MagicDate est toujours réactif, qu’il y ait un seul ou 200 champs DATE dans un formulaire PDF ne change pas ses performances.
  • MagicDate n’est pas une usine à gaz faisant appel à de multiples champ de formulaires masqués qui pénaliseraient les performances de calcul et d’affichage de vos formulaires.

MagicDate démonstration

MÉMO :

Acrobat Pro est le logiciel nécessaire pour créer des formulaires PDF interactifs.
Acrobat Reader (ex Adobe Reader) est le logiciel gratuit qui permet d’utiliser les formulaires PDF en bénéficiant de leurs fonctions interactives.
C’est le plus répandu mais les formulaires PDF interactifs fonctionnent aussi avec les autres logiciels lecteurs de PDF supportant le JavaScript, gratuits ou payants, Adobe ou non-Adobe.

MagicDate a été testé avec les versions 9 jusqu’à DC (version actuelle) d’Acrobat et de Reader, a priori il n’y a aucune raison pour que ça ne fonctionne pas avec des versions encore plus anciennes mais ce n’est pas garanti.




 

 

Pourquoi MagicDate est-il présenté comme étant le meilleur ?

Parce-que c’est le plus beau, le plus efficace, le plus simple et le moins cher.

Cette autoproclamation n’est pas usurpée, elle est tout simplement évidente quand on connait ce qui est proposé par ailleurs. Le mieux est d’en juger par soi-même : https://www.qwant.com/?q=popup+calendar+for+PDF+forms&client=opensearch




 

 

Licence illimitée

Achetez MagicDate une seule fois et utilisez-le dans tous vos formulaires.

Utilisez MagicDate autant de fois que vous voulez dans vos formulaires ou dans ceux de vos clients, il n’y a aucune limite d’utilisation.

59 € seulement !




 

 

Personnalisations avancées

MagicDate est fourni avec les formats de dates les plus courants, mais au besoin on peut personnaliser encore plus le sélecteur de calendrier.
Si les formats de dates proposés vous conviennent il est inutile de lire ce qui suit.

 

Trois paramètres sont modifiables :

  • Le début de la semaine : lundi ou dimanche.
  • Le format de date
  • Le champ cible

 

Le script se trouve dans chacun des champs DATE fournis : Propriétés du champ > Action > Souris Enfoncée

Mais pas de panique aucune connaissance en JavaScript n’est nécessaire, parce-que les choses sont bien faites et parce-qu’il suffit d’activer ou des désactiver des lignes de script pré-existantes pour modifier ces paramètres.

C’est un jeu d’enfant :

  • pour désactiver une ligne de script il faut la faire commencer par un double-slash //
  • pour activer une ligne de script il suffit de ne rien mettre au début, et donc de supprimer le // s’il y en a un.

Et si jamais on laissait par inadvertance plusieurs lignes de scripts activées en même temps ce ne serait pas très grave : dans tous les cas c’est la dernière des lignes actives qui est prise en compte (c’est le dernier qui parle qui a raison).

 

• Le début de la semaine :

C’est le paramètre le plus simple à gérer car il n’a que deux valeurs possibles : lundi ou dimanche.

Ce sont les lignes 14 et 15 du script, dans le premier bloc.
Il faut y modifier la position du double-slash // et surtout ne rien modifier d’autre.

Ces deux lignes de script signifient que le début de la semaine est réglé sur le lundi puisque la première est active et que le seconde est désactivée :

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

 

À l’inverse, ces deux lignes de script signifient que le début de la semaine est réglé sur le dimanche :

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

 

• Le format de date (yyyy-mm-dd)

IMPORTANT : le format de date est déterminé par le script et uniquement par le script.
Ce qui veut dire que les formats de date pré-existants proposées par Acrobat dans Propriétés du champ : Format : Date ne seront d’aucun secours.
Au contraire : si le format de date utilisé dans Propriétés du champ : Format : Date ne correspond pas très exactement au format déterminé par le script, le champ n’affichera rien du tout. Sans alerte ni message d’erreur.

Cependant, on peut avoir plein de bonnes raisons de vouloir utiliser quand même un des formats de date pré-existants dans Acrobat. Par exemple si on pense aux utilisateurs handicapés et à ceux qui préfèrent saisir la date avec le clavier.
Auquel cas il faut impérativement que le format de date indiqué dans Propriétés du champ : Format : Date correspondent très exactement au format de date déterminé par le script.

 

  • Pour utiliser un format personnalisé en plus de ceux proposés il faut modifier les caractères entre guillemets dans une ligne existante, ou bien en créer une nouvelle.

 

Formats proposés :

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

 

Formats utilisables :

Les formats de date en JavaScript

Exemples :

  • Le mercredi 7 septembre 2016 = « Le dddd d mmmm yyyy« 
  • 07/09/16 = « dd/mm/yy« 

 

• Le champ cible

C’est le champ dans lequel va s’inscrire la date sélectionnée sur le calendrier.

MagicDate est fourni avec un champ bouton alimentant un champ texte cible, donc utiliser un seul sélecteur de calendrier dans un formulaire n’est pas un problème, il suffit de copier-coller les deux champs concernés.

Par-contre si on veut plusieurs boutons avec plusieurs champs cibles dans un même formulaire il faut savoir que chaque bouton doit avoir un nom de champ unique et que chaque champ cible aussi.

Modifier le nom des champs de type bouton se fait comme habituellement (Propriétés du champ > Général), et la modification du nom du champ cible doit se faire dans le script contenu dans chaque bouton, à la ligne 33 dans le troisième bloc.

champDate = this.getField("NomDuChamp");

Il faut simplement remplacer NomDuChamp par le vrai nom du champ cible.

 

 

 

FAQ, Aide et assistance

  • Peut-on supprimer la mention « Fenêtre JavaScript » qui apparait dans la barre de titre et dans le corps de la fenêtre ?

Non hélas, Adobe considère cette mention obligatoire pour « raisons de sécurité ». Il y en a certainement de bonnes mais je ne les connais pas.

 

  • Quelles sont les langues disponibles pour le sélecteur de date ?

Ce sont celles disponibles dans Acrobat (Reader, Pro et Standard). Pour les connaitre il faut aller dans les Préférences d’Acrobat Pro, dans le panneau Langue : le premier menu déroulant les liste toutes.

 

 

Une autre question ? Un commentaire ?

Merci de les poster ci-dessous.

 

Print Friendly

2 Comments

Comments are closed.