|
• Créer un champ DATE est facile dans Acrobat, il faut tracer le champ avec l'outil Formulaire (F) et lui assigner le type 'Texte' dans les Propriétés du champ, ou bien tracer avec l'outil 'Formulaire-champ de texte' dans les versions 6 et ultérieures.
Dans les Propriétés du champ, après quelques réglages esthétiques dans l'onglet Aspect, il n'y a plus qu'à assigner le format de date désiré dans l'onglet Format, et à valider (OK).
Attention cependant aux formats de date anglo-saxons dans lesquels le mois précède le jour...
Dans Acrobat le format équivalent à celui sélectionné ci-dessous est 'd-mmm-yyyy'. Les formats de date y sont personnalisables, avec une prévisualisation directe.

Acrobat 4 & 5

Acrobat 6+
• Le code JavaScript
Non, pas de panique.
C'est très simple à mettre en œuvre, même pour un(e) débutant(e)...
Qui ne connait pas le copier/coller ?
Dans le menu Document il faut 'Définir une action liée' à l'ouverture de la page. C'est cette action qui remplira automatiquement le champ DATE.
Dans Acrobat 6+ cette action n'est pas accessible par la barre de menu, il faut afficher l'onglet Pages et cliquer sur la vignette concernée pour afficher le menu contextuel (clic-droit) et sélectionner 'Propriétés de la page...'.

Acrobat 4 & 5

Acrobat 6+
Dans 'Actions liées à la page', il faut sélectionner l'évènement 'Ouverture de la page' et cliquer sur 'Ajouter' pour ajouter une action.
Cette action sera de type 'JavaScript', il faut ensuite cliquer sur 'Modifier' pour accéder à l'éditeur de script.
Une fois l'éditeur de script ouvert, il faut entrer le script suivant :
this.getField('DATE').value = util.printd('dd/mm/yyyy', new Date());
this.dirty = false;
Inutile d'être spécialiste pour utiliser ce bout de code, un simple copier/coller fait l'affaire. Par contre, il est indispensable aux as de la frappe de savoir que le langage JavaScript est sensible à la casse, il faut donc soigneusement respecter les capitales et les minuscules !

Dans ce script, c'est la première ligne qui sert à remplir le champ DATE avec la valeur de la date courante.
La deuxième ligne sert à réinitialiser le marqueur de modification du fichier (dirty), de sorte qu'un utilisateur ayant simplement ouvert le fichier sans rien y changer d'autre ne soit pas invité à enregistrer la modification du champ DATE au moment de la fermeture.
Attention : cette ligne de script peut devenir dangeureuse pour l'utilisateur final si l'action n'est pas placée sur la page d'ouverture du document car elle pourrait marquer comme non modifié un fichier effectivement déjà modifié. L'utilisateur n'étant ainsi pas invité à enregistrer le fichier au moment de la fermeture, il perdrait toutes les modifications effectuées...
Il ne reste plus qu'à valider les trois boîtes de dialogue, à reprendre l'outil Main, à enregistrer, à fermer, et à ré-ouvrir le fichier pour le visualiser et le tester.
Le champ DATE est réinitialisé avec la date courante à chaque ouverture du fichier PDF.
• Dans le cas d'un document multi-pages ou d'un document destiné à être enregistré par l'utilisateur, la ré-initialisation de la date à chaque fois que l'utilisateur revient sur la page d'ouverture n'est pas forcément souhaitable, cela peut même devenir un inconvénient.
Dans ce cas il conviendra d'utiliser un code JavaScript un peu plus élaboré :
Il faut retourner dans la boîte de dialogue 'Actions liées à la page', sélectionner l'opération 'JavaScript', et cliquer sur 'Modifier' pour entrer le script suivant :
if (this.getField('DATE').value == '')
{this.getField('DATE').value = util.printd('dd/mm/yyyy', new Date());
}

Dans ce script, la première ligne sert à détecter si (if) le champ DATE a déjà une valeur (s'il contient quelque chose).
Si la réponse est non, alors le script affecte une nouvelle valeur (la date courante) au champ DATE.
Il pourrait se traduire approximativement ainsi :
Si (valeur du champ DATE est égale à rien)
{alors : valeur du champ DATE = date courante}
Mais comment faire pour que le champ DATE soit vide seulement lors de la première ouverture du document ?
Il faut double-cliquer sur le champ DATE pour accèder à la boîte de dialogue 'Propriétés du champ', et cliquer OK sans rien avoir modifié (cette action ré-initialise la valeur de n'importe quel champ dans Acrobat).

Ensuite il faut immédiatement enregistrer le document PDF tel quel (avec un champ DATE sans valeur), ou l'enregistrer sous pour l'optimiser (bien sur, cette manipulation est à répéter chaque fois que l'on modifie le document original).
Ainsi dans un PDF de plusieurs pages le champ DATE ne sera pas ré-initialisé à chaque fois que l'utilisateur reviendra sur la page d'ouverture.
Et dans un PDF destiné à être enregistré par l'utilisateur c'est la date du premier enregistrement qui sera conservée dans le document, ensuite l'utilisateur est libre de la modifier ou non.
C'est tout !
|