bbc
LiveCycle ® Designer ES2 Scripting Basics
Adobe ® LiveCycle ® Designer ES2
Octobre 2009 Version 9
This user reference is licensed for use under the terms of the Creative Commons Attribution Non-Commercial 3.0 License. This License allows users to copy, distribute, and transmit the guide for noncommercial purposes only so long as (1) proper attribution to Adobe is given as the owner of the guide; and (2) any reuse or distribution of the guide contains a notice that use of the guide is governed by these terms. The best way to provide notice is to include the following link. To view a copy of this license, visit
http://creativecommons.org/licenses/by-nc-sa/3.0/.
Adobe, Adobe logo, Adobe Reader, Acrobat, and LiveCycle are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are either trademarks or registered trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
Table des matières
A propos de ce document
A qui s'adresse ce document ? . . . 6
Objet et contenu du guide . . . 6
Informations complémentaires . . . 7
1. A propos des scripts dans Designer ES2 Fonctionnement des scripts . . . 9
Objets prenant en charge les calculs et les scripts . . . 10
Comprendre les relations entre les objets de la Bibliothèque d'objets . . . 10
Configuration de l’espace de travail Designer ES2 pour les scripts . . . 11
2. Configuration de LiveCycle Designer ES2 pour les scripts Pour afficher l’éditeur de script . . . 15
Pour passer de la vue uniligne à la vue multiligne . . . 15
Pour paramétrer le langage de script par défaut pour les nouveaux formulaires . . . 15
Pour paramétrer le langage de script par défaut pour le formulaire en cours . . . 15
Pour modifier le langage de script par défaut pour un modèle de formulaire . . . 15
Pour définir l'application de traitement par défaut . . . 15
Pour afficher des caractères en arabe, hébreu, thaï et vietnamien . . . 16
Utilisation de l'espace de travail pour le débogage des calculs et des scripts . . . 16
3. Création de calculs et de scripts Globaliser des scripts par propagation de l'événement . . . 18
Pour activer la propagation de l'événement . . . 18
Conventions de dénomination des objets et des variables dans une conception de formulaire . . . 18
Choix du langage de script . . . 19
Pour créer un calcul ou un script . . . 20
Pour rechercher du texte ou d'autres éléments . . . 20
Pour remplacer du texte ou d'autres éléments . . . 20
Pour utiliser des options de fin d'instructions pour créer des calculs et des scripts . . . 21
Pour insérer automatiquement la syntaxe de référence d'objet . . . 22
Détermination du moment de l'exécution de votre calcul ou script . . . 22
Pour afficher les événements de script et les scripts . . . 23
Détermination de l'emplacement d'exécution de votre calcul ou script . . . 24
Test et débogage des calculs et des scripts . . . 24
Pour vérifier la syntaxe des scripts . . . 25
Utilisation des mesures de protection . . . 25
4. Evénements Types d'événements . . . 26
Evénements de traitement . . . 26
Evénements interactifs . . . 27
Evénements d'application . . . 29
Evénement calculate . . . 30
Evénement change . . . 31
Evénement click . . . 32
Evénement docClose . . . 33
Evénement docReady . . . 33
Evénement enter . . . 34
Evénement exit . . . 34
Evénement form:ready . . . 35
Evénement full . . . 35
4. Evénements (Suite)
Evénement indexChange . . . 36
Evénement initialize . . . 36
Evénement layout:ready . . . 37
Evénement mouseDown . . . 38
Evénement mouseEnter . . . 38
Evénement mouseExit . . . 39
Evénement mouseUp . . . 39
Evénement postOpen . . . 40
Evénement postPrint . . . 41
Evénement postSave . . . 41
Evénement postSign . . . 42
Evénement postSubmit . . . 42
Evénement preOpen . . . 43
Evénement prePrint . . . 43
Evénement preSave . . . 44
Evénement preSign . . . 44
Evénement preSubmit . . . 45
Evénement validate . . . 45
5. Rédiger un script avec FormCalc et JavaScript Utilisation de FormCalc . . . 50
Utilisation de fonctions intégrées . . . 50
Pour attacher une fonction FormCalc à un objet . . . 51
Syntaxe de fonction intégrée . . . 51
Création de calculs de base . . . 51
Utilisation de JavaScript . . . 53
Création de scripts à l'aide de JavaScript . . . 53
Règles d'application de plage stricte dans JavaScript . . . 54
Pour attacher un script JavaScript à un objet . . . 57
6. Variables Attribution de noms aux variables . . . 58
Pour définir une variable de texte . . . 58
Pour visualiser une définition de variable de texte . . . 59
Pour supprimer une variable de texte . . . 59
Utilisation des variables dans les calculs et les scripts . . . 59
7. Référence aux objets dans les calculs et les scripts Référence aux propriétés et aux valeurs d'objet . . . 60
Référence aux objets sans nom et aux objets répétés . . . 62
Référence à l'objet actif . . . 63
Raccourcis de la syntaxe de référence FormCalc . . . 63
8. Création et réutilisation des fonctions JavaScript Pour créer un objet de script . . . 68
Pour référencer les fonctions JavaScript stockées dans un objet de script . . . 69
9. Utilisation des fragments de script Propriétés des fragments de script . . . 70
Pour créer un fragment de script . . . 70
Pour insérer un fragment de script . . . 71
10. Débogage des calculs et des scripts
Débogage JavaScript . . . 73
Conseils pour le débogage . . . 75
11. Utilisation d'une application hôte 12. Utilisation du modèle d'événement 13. Conversion de scripts Acrobat en scripts Designer ES2 Conversion de formulaires Acrobat contenant des scripts . . . 81
Utilisation d'objets JavaScript d'Acrobat dans Designer ES2 . . . 82
Objets JavaScript d'Acrobat pris en charge dans Designer ES2 . . . 82
14. Exemples de tâches de script courantes Modification des couleurs d'arrière-plan des champs, des zones remplissables et des sous-formulaires . . . 92
Masquage et affichage d'objets . . . 94
Exclure un objet de l'ordre de tabulation . . . 98
Modification des propriétés visuelles d'un objet sur le client . . . 99
Obtention de la valeur actuelle ou de la valeur précédente d'une liste déroulante . . . 102
Préserver le format en texte enrichi lors de la copie de valeurs de champs . . . 103
Ajustement de la hauteur d'un champ au moment de l'exécution . . . 103
Définition d'une valeur de champ obligatoire au moment de l'exécution . . . 104
Calcul des sommes d'un champ . . . 104
Mise en surbrillance des champs en réponse aux interactions de l'utilisateur final . . . 105
Réinitialisation des valeurs du sous-formulaire actif . . . 109
Modification de la visibilité d'un objet de conception de formulaire . . . 109
Utilisation des propriétés du gestionnaire d'instances pour contrôler les sous-formulaires . . . 111
Utilisation des méthodes du gestionnaire d'instances pour contrôler les sous-formulaires . . . 112
Utilisation du gestionnaire d'instances pour contrôler les sous-formulaires au moment de l'exécution . . . 114
Index . . . 118
A propos de ce document
Bienvenue dans Adobe® LiveCycle® Designer ES Scripting Basics. Ce document relatif à la rédaction de scripts vous propose un aperçu de l'utilisation des calculs et scripts Designer ES2 en vue de la création et de l'optimisation de formulaires dans Designer ES2. Vous pouvez par exemple utiliser des calculs et scripts pour effectuer les opérations suivantes :
• Modifier le comportement et l'aspect des objets au moment de l'exécution ;
• Contrôler la présentation des valeurs de champ ;
• Proposer une interaction avec les personnes remplissant les formulaires à l'aide de boîtes de dialogue et d'indications visuelles ;
• Automatiser le remplissage de formulaires ;
• Contrôler l'environnement hôte ;
• Communiquer avec les services Web ;
• Communiquer avec les bases de données et remplir des formulaires avec des données provenant de sources de données.
Vous trouverez dans ce guide des informations détaillées, des exemples de calculs et de scripts Designer ES2 ainsi que la méthode d'accès à ces derniers. Vous trouverez également des informations sur l'utilisation de l'éditeur de script Designer ES2. Les calculs et scripts
Designer ES2 sont un excellent moyen d'optimiser et de développer vos formulaires Designer ES2.
A qui s'adresse ce document ?
Ce guide est destiné aux auteurs et développeurs de formulaire souhaitant utiliser des calculs et scripts pour décupler les fonctionnalités des formulaires Designer ES2. Nous partons du principe que vous connaissez les langages de script, en particulier JavaScript™, ainsi que les modèles d'objet. Vous devez également savoir utiliser Adobe Acrobat® Professional ou Acrobat Standard et savoir travailler dans un environnement XML structuré.
Objet et contenu du guide
Vous trouverez dans ce guide les informations suivantes :
• Une introduction à l'utilisation des calculs et scripts Designer ES2 pour une conception plus étendue de vos formulaires ;
• Des informations détaillées et claires, ainsi que des exemples de fonctions de calculs et scripts Designer ES2 ;
• Des références à d'autres ressources proposant des informations supplémentaires relatives à la rédaction de scripts Designer ES2 et aux technologies associées.
Une fois que vous avez lu ce guide, vous devriez être fin prêt à utiliser les calculs et scripts Designer ES2. Vous verrez que les descriptions et exemples contenus dans ce guide vous donnent suffisamment d'indications et d'informations pour vous permettre d'effectuer vos projets.
Informations complémentaires
Adobe propose un grand éventail de ressources dédiées à la rédaction de scripts Designer ES2 et destinées aussi bien aux auteurs qu'aux développeurs de formulaires. L'illustration et la section suivantes décrivent les différentes ressources disponibles, ainsi que leur
emplacement.
Aide Designer ES2
L'aide de Designer ES2 contient des informations détaillées sur l'utilisation du produit, notamment des informations sur l'utilisation des calculs et des scripts. Elle doit être votre source de références pour toutes les questions relatives à Designer ES2. Vous pouvez accéder à l'aide de Designer ES2 du menu Aide lorsque Designer ES2 est installé ou via Internet sur http://www.adobe.com/go/learn_lc_designer_9_fr.
Guide Designer ES2 Scripting Basics
Le guide propose un aperçu de la création des calculs et scripts pour une utilisation dans Designer ES2. Il est destiné à vous aider lors de la création de calculs et scripts à l'aide de FormCalc et JavaScript.
Articles et bibliothèque de référence
Le document relatif aux références sur les objets de script de Designer ES2 est un document de référence détaillé des modèles, objets, propriétés et méthodes disponibles dans Designer ES2. Le document PDF est conçu comme référence uniquement, il ne donne pas d'informations sur la création de calculs ou de scripts. Voir Designer ES2 Source de référencesur les scripts.
Forums utilisateurs
Le forum de Designer ES2 est un point de rencontre pour les professionnels souhaitant discuter de questions relatives à Designer ES2. Il est possible de répondre aux questions des utilisateurs, de signaler un bogue ou un problème trouvé dans le produit, ou de poser des questions à d'autres créateurs de formulaires ou à des experts Adobe. Pour plus de détails, rendez-vous à l'adresse www.adobeforums.com.
Exemples de script
Les exemples de script sont des formulaires ou des lots contenant des instructions sur la méthode de création d'un formulaire exemple ainsi que toutes les données utilisées pour créer et afficher ce dernier. De nouveaux exemples sont régulièrement ajoutés par les experts Adobe et des tiers. Les exemples sont disponibles à l'adresse www.adobe.com/devnet/livecycle/samples.html.
1. A propos des scripts dans Designer ES2
Dans le processus de conception des formulaires, un développeur de formulaires peut utiliser des calculs et des scripts afin d'apporter à l'utilisateur un confort d'utilisation amélioré. Vous pouvez ajouter des calculs et des scripts à la plupart des champs et objets. Par exemple, le script JavaScript suivant multiplie les valeurs de deux champs numériques et affiche le résultat dans un troisième champ numérique :
NumericField3.rawValue = NumericField1.rawValue * NumericField2.rawValue;
A un niveau plus avancé, vous pouvez créer vos propres fonctions personnalisées répondant au mieux à vos besoins de traitement des formulaires.
Designer ES2 reconnaît deux langages de script, chacun d'eux étant défini selon les besoins d'un type particulier de développeur de formulaire. FormCalc est un langage immédiat, d'utilisation aisée, adapté aux fonctionnalités communes de tableaux. Il comprend diverses fonctions intégrées conçues pour réduire le temps nécessaire au développement de votre modèle de formulaire. JavaScript, langage de script puissant, offre une flexibilité optimale pour la création de scripts et vous permet de bénéficier des connaissances actuelles du langage.
Soyez conscient que l'ajout de scripts à un formulaire est une opération facultative. Vous pouvez choisir d'utiliser des scripts pour améliorer le confort d'utilisation, mais Designer ES2 vous propose de nombreuses fonctions, parmi les plus puissantes, pour créer un formulaire sans avoir à recourir aux scripts. Cependant, les scripts vous permettent de manipuler et de commander quasiment tous les aspects de votre conception de formulaire.
Remarque : vous pouvez également utiliser la boîte de dialogue Créateur d'actions dans le menu Outils pour créer des fonctions interactives communes dans des formulaires dotés d'une disposition souple, sans avoir à écrire de scripts.
Fonctionnement des scripts
Les scripts de Designer ES2 reposent sur un modèle d'événement qui vous permet de modifier divers aspects des objets de formulaire en cours d'exécution. Les concepteurs de formulaires peuvent ajouter des scripts aux objets en fonction du moment souhaité pour l'exécution du script. Vous pouvez par exemple choisir d'inclure le script suivant dans l'événement click d'un objet de bouton afin d'afficher un message lorsque l'utilisateur clique sur le bouton au moment de l'exécution :
xfa.host.messageBox("Il s'agit d'un message à l'intention de l'utilisateur.", "Commentaires de l'utilisateur", 3);
Les scripts associés à un événement particulier sont exécutés au moment où cet événement se produit. Certains événements peuvent se produire à plusieurs reprises au cours d'une même session de remplissage d'un formulaire. Par exemple, le script suivant ajoute le chiffre 1 à la valeur active d'un champ numérique :
NumericField1.rawValue = NumericField1.rawValue + 1;
Si vous ajoutez ce script à l'événement calculate pour le champ NumericField1, le champ NumericField1 affiche la valeur 2 lors de la première ouverture du formulaire. Ceci indique que l'événement calculate s'est produit deux fois dans la séquence d'événements exécutée à l'ouverture du formulaire.
Objets prenant en charge les calculs et les scripts
Le tableau suivant donne un rapide aperçu des scripts pris en charge par les objets standard inclus dans la palette Bibliothèque de Designer ES2.
Comprendre les relations entre les objets de la Bibliothèque d'objets
Lorsque vous créez des calculs et des scripts dans Designer ES2, vous devez savoir que les objets auxquels vous ajoutez des scripts sont en réalité définis comme objets XML dans l'architecture de formulaires XML sous-jacente. Cela signifie que l'onglet Standard de la palette Bibliothèque d'objets contient une grande variété d'objets et que la plupart d'entre eux sont définis par le même objet XML. Par conséquent, les différentes propriétés et méthodes de script disponibles dépendent de la définition de cet objet XML et non de l'objet présent dans la palette Bibliothèque d'objets.
Les objets disponibles dans l'onglet Standard de la palette Bibliothèque d'objets dépendant de la même définition d'objet XML de base partagent une série de propriétés et de méthodes communes. Reportez-vous à la section Guide de référence pour les scripts Designer ES2 pour déterminer la série de propriétés et de méthodes disponibles en fonction de l'objet XML de base correspondant. De même, chaque définition d'objet XML de base contient un objet enfant qui contrôle de manière spécifique l'apparence visuelle de l'objet Designer ES2.
Objets prenant en charge les calculs et les scripts Objets ne prenant pas en charge les calculs et les scripts
Bouton Cercle
Bouton Envoyer par messagerie Droite
Bouton Envoyer via HTTP Image
Bouton Imprimer Jeux de sous-formulaires
Bouton radio Rectangle
Bouton Réinitialiser Sections du tableau
Case à cocher Texte
Champ de signature Zone de contenu
Champ de texte Champ décimal Champ d'image Champ du mot de passe Champ numérique
Code à barres de formulaires pour support papier Codes à barres
Date/Heure Sous-formulaire
Tableau (y compris les rangées de contenu, les rangées d'en-tête et les rangées de pied de page)
Zone de liste
Zone de liste déroulante
Par exemple, si vous souhaitez consulter les propriétés et méthodes disponibles pour un objet Champ Date/Heure dans Designer ES2, commencez par l'objet field. Si vous souhaitez consulter l'objet XML correspondant qui contrôle l'apparence visuelle du champ Date/Heure, consultez l'objet dateTimeEdit.
Le tableau ci-dessous illustre le mappage entre les objets visibles dans l'onglet Standard de la palette Bibliothèque d'objets dans Designer ES2, ainsi que l'objet de l'architecture de formulaires XML correspondant.
Configuration de l’espace de travail Designer ES2 pour les scripts
L'éditeur de script est l'endroit où vous créez, modifiez et visualisez les calculs et les scripts d'un formulaire donné. Vous pouvez, par exemple, faire appel à l'éditeur de script pour écrire un calcul simple qui ajoute deux champs numériques ou scripts complexes qui modifient la présentation du formulaire selon les actions de l'utilisateur final. Designer ES2 prend en charge les scripts écrits dans son propre langage (FormCalc) ou en langage JavaScript.
Objet de la bibliothèque d'objets standard Objet de l'architecture de formulaires XML (base) Objet de l'architecture de formulaires XML (IU)
Bouton champ button
Bouton Envoyer par messagerie champ button
Bouton Envoyer via HTTP champ button
Bouton Imprimer champ button
Bouton radio champ checkButton
Bouton Réinitialiser champ button
Case à cocher champ checkButton
Champ de signature champ signature
Champ de texte champ textEdit
Champ décimal champ numericEdit
Champ d'image champ imageEdit
Champ du mot de passe champ passwordEdit
Champ numérique champ numericEdit
Code à barres de formulaires pour support papier
champ barcode
Codes à barres champ barcode
Date/Heure champ dateTimeEdit
Sous-formulaire sous-formulaire N/A
Tableau (y compris les rangées de contenu, les rangées d'en-tête et les rangées de pied de page)
sous-formulaire N/A
Zone de liste champ choiceList
Zone de liste déroulante champ choiceList
Par défaut, l'éditeur de script est affiché dans la partie supérieure de l'espace de travail de Designer ES2. Vous pouvez toutefois l’ancrer à l'emplacement de votre choix. Il propose à la fois une vue uniligne et une vue multiligne, entre lesquelles vous pouvez basculer librement en fonction de vos besoins. La vue uniligne permet d'augmenter l'espace réservé à l'affichage de l'éditeur de disposition et des autres palettes.
La vue multiligne permet, quant à elle, d'augmenter l'espace réservé à la rédaction des scripts.
Vue uniligne : A. Champ d'édition de script
Vue multiligne : A. Syntaxe de référence B. Bouton Afficher les événements pour les objets enfant C. Bouton Fonctions D. Bouton Vérifier la syntaxe des scripts E. Champ d'édition de script
Afficher Répertorie tous les événements de conception de formulaire qui permettent à l'utilisateur de rédiger des scripts. Tous les événements qui ne s'appliquent pas à un objet en particulier apparaissent en grisé. Les événements qui contiennent un calcul ou un script sont affichés avec un * (astérisque) à côté du nom de l'événement.
Afficher les événements pour les objets enfant Affiche l'événement actuellement sélectionné dans la liste Afficher pour l'objet actif et tous ses objets enfant. Si vous sélectionnez l'objet supérieur de la palette Hiérarchie, cette option affiche l'événement actuellement sélectionné dans la liste Afficher pour tous les objets de votre formulaire.
Fonctions Affiche une liste des fonctions intégrées FormCalc ou JavaScript, en fonction du langage de script sélectionné dans la liste Langage.
Pour insérer une fonction sur votre champ d'édition de script, choisissez une fonction dans la liste et appuyez sur Entrée.
Vérifier la syntaxe des scripts Vérifie tous les scripts d'un formulaire afin d'assurer une bonne syntaxe et répertorie toutes les erreurs dans l'onglet Avertissements de la palette Rapport.
Langue Spécifie le langage de script à utiliser pour le calcul ou le script actuel. Deux options sont disponibles :
• FormCalc
• JavaScript
Le langage de script affiché dans la liste Langage correspond à l'option de langage de script que vous choisissez comme langage par défaut pour les nouveaux formulaires dans le panneau Espace de travail dans la boîte de dialogue Options. Cependant, si vous modifiez le réglage de langage de script pour le formulaire en cours dans l'onglet Valeurs par défaut dans la boîte de dialogue Propriétés du formulaire, le langage de script affiché dans la liste Langage est modifié de la même manière pour tous les nouveaux scripts des nouveaux événements. La modification de l'option de langage de script dans la boîte de dialogue Propriétés du formulaire n'affecte en rien le langage de script pour les scripts existants. Si un événement contient déjà un script et que ce script est supprimé, l'éditeur de script continue d'utiliser le même langage de script pour toute la durée de votre session de travail dans Designer ES2.
Exécuter sur Indique l'emplacement où le calcul ou le script doit être exécuté. Trois options sont disponibles :
• Client Les calculs et scripts sont exécutés pendant que l'application client (par exemple, Acrobat, Adobe Reader, ou un navigateur Web) traite le formulaire.
• Serveur Les calculs et scripts sont exécutés pendant que l'application serveur (par exemple, Formulaires ES2) traite le formulaire.
• Client et serveur Les calculs et scripts sont exécutés pendant que l'application serveur (par exemple, Formulaires ES2) traite le formulaire, sauf dans les cas où l'application client HTML prend en charge les scripts côté client. Il peut s'agir, par exemple, d'un script accédant à la base de données pour insérer automatiquement un certain nombre de données dans un formulaire.
Activer la propagation de l'événement Spécifie que les événements de formulaires se propagent aux conteneurs parents.
2. Configuration de LiveCycle Designer ES2 pour les scripts
Pour afficher l’éditeur de script
❖ Choisissez Fenêtre > Editeur de script.
Remarque : vous pouvez utiliser le bouton d'ajustement pour ancrer ou désancrer rapidement l'éditeur de script lorsque celui-ci est affiché dans l'espace de travail Designer ES2.
Pour passer de la vue uniligne à la vue multiligne
❖ Faites glisser la barre de la palette Editeur de script jusqu'à la taille de palette requise.
Remarque : la vue multiligne ajoute les options Tous les événements et Evénements avec scripts à la liste Afficher. L'option Tous les événements affiche tous les événements d'un objet de conception de formulaire donné, même si l'événement ne contient ni calculs ni scripts.
L'option Evénements avec scripts affiche uniquement les événements d'un objet particulier qui contient des calculs ou des scripts.
Pour paramétrer le langage de script par défaut pour les nouveaux formulaires 1 Choisissez Outils > Options.
2 Cliquez sur Espace de travail
3 Dans la liste Langage par défaut pour les nouveaux formulaires, sélectionnez le langage de script par défaut à appliquer aux nouveaux formulaires.
Pour paramétrer le langage de script par défaut pour le formulaire en cours 1 Choisissez Fichier > Propriétés du formulaire.
2 Cliquez sur l'onglet Valeurs par défaut.
3 Dans la liste Langage par défaut, sélectionnez le langage de script par défaut à appliquer au formulaire actif.
Pour modifier le langage de script par défaut pour un modèle de formulaire 1 Créez une conception de formulaire.
2 Choisissez Fichier > Propriétés du formulaire.
3 Cliquez sur l'onglet Valeurs par défaut.
4 Choisissez votre langage de script par défaut dans la liste Langage par défaut.
5 Faites une copie de sauvegarde du fichier du modèle de formulaire original situé dans le dossier Templates où Designer ES2 est installé.
6 Enregistrez la nouvelle conception de formulaire au format TDS et écrasez le modèle de formulaire correspondant. Par exemple, enregistrez le fichier sous Letter.tds et écrasez le fichier Letter.tds situé dans le dossier Templates\Blank.
Pour définir l'application de traitement par défaut 1 Choisissez Fichier > Propriétés du formulaire.
2 Cliquez sur l'onglet Valeurs par défaut.
3 Choisissez votre application de traitement par défaut dans la liste Exécution par défaut sur le.
Remarque : cette procédure définit uniquement la valeur de l'application de traitement par défaut pour l'instance active du formulaire.
Pour éviter d'avoir à changer l'application de traitement par défaut chaque fois que vous créez un formulaire, vous devez modifier le fichier de modèle de formulaire correspondant utilisé pour la création de nouvelles conceptions de formulaire.
Pour changer l'application de traitement par défaut pour un modèle de formulaire 1 Crée une nouvelle conception de formulaire.
2 Choisissez Fichier > Propriétés du formulaire.
3 Cliquez sur l'onglet Valeurs par défaut.
4 Choisissez votre application de traitement par défaut dans la liste Exécution par défaut sur le.
5 Faites une copie de sauvegarde du fichier du modèle de formulaire original situé dans le dossier Templates où Designer ES2 est installé.
6 Enregistrez la nouvelle conception de formulaire au format TDS et écrasez le modèle de formulaire correspondant. Par exemple, enregistrez le fichier sous Letter.tds et écrasez le fichier Letter.tds situé dans le dossier Templates\Blank.
Pour afficher des caractères en arabe, hébreu, thaï et vietnamien
Pour afficher les caractères arabes, hébreux, thaïs et vietnamiens dans le panneau Source XML/Editeur de script, vous devez modifier les paramètres de police utilisés par Designer ES2 dans ces panneaux. Sinon, Designer ES2 affiche des rectangles à l'emplacement des caractères concernés.
1 Choisissez Outils > Options, puis Espace de travail dans la liste de gauche.
2 Sélectionnez l'une des options suivantes :
• Formatage de la syntaxe FormCalc pour définir la police dans l'éditeur de script lors de l'utilisation de FormCalc
• Formatage de la syntaxe JavaScript pour définir la police dans l'éditeur de script lors de l'utilisation de JavaScript
• Formatage de la syntaxe de la source XML pour définir la police dans le panneau Source XML
3 Dans la zone Options de polices, sélectionnez une police prenant en charge votre langue. Par exemple, Adobe Arabic prend en charge l'arabe, Adobe Hebrew prend en charge l'hébreu, Adobe Thai prend en charge le thaï et Myriad® Pro et Minion® Pro prennent en charge le vietnamien. Si la langue choisie ne se trouve pas sur votre système, vous pouvez la rechercher sur Internet.
4 Cliquez sur OK.
5 Cliquez sur OK pour refermer la boîte de dialogue.
Utilisation de l'espace de travail pour le débogage des calculs et des scripts L'espace de travail Designer ES2 offre plusieurs solutions pour déboguer les calculs et les scripts.
Le tableau ci-dessous indique l'emplacement et le rôle des informations de débogage proposées dans les palettes et panneaux de Designer ES2.
Il peut être utile de modifier les options par défaut de l'éditeur de script afin de faciliter le débogage de vos calculs et scripts. Ces options figurent dans le panneau Espace de travail de la boîte de dialogue Options. Pour y accéder, choisissez Outils > Options, puis sélectionnez Espace de travail dans la liste à gauche. Vous pouvez par exemple choisir d'afficher les numéros de ligne dans l'éditeur de script ou de modifier le formatage de la syntaxe FormCalc ou JavaScript.
Emplacement dans l'espace de travail Fonction Panneau Avertissements de la palette
Rapport
Affiche les messages cible et d'avertissement ainsi que toutes les erreurs de syntaxe de script JavaScript ou FormCalc lorsque vous choisissez la commande Vérifier la syntaxe des scripts du menu Outils ou que vous cliquez sur le bouton Vérifier la syntaxe des scripts dans la barre d'outils Outils. Pour plus de détails, voir « Pour vérifier la syntaxe des scripts » à la page 25.
Lorsque vous cliquez deux fois sur un message d'avertissement de syntaxe dans l'onglet Avertissements, le script qui contient l'erreur est chargé dans l'Editeur de script et la ligne contenant l'erreur est mise en surbrillance.
Vous pouvez également cliquer deux fois sur un message d'avertissement pour sélectionner l'objet associé dans la Vue de conception de la palette Hiérarchie, puis appuyez sur F1 pour afficher les informations sur la manière de résoudre les avertissements.
Pour vérifier les erreurs d'exécution JavaScript, vous pouvez activer la console JavaScript. Pour plus de détails, voir
« JavaScript Debugger dans Acrobat Professional » à la page 73.
Panneau Liaisons de la palette Rapport Si vous prévoyez des champs dans votre conception de formulaire qui sont liés à une source de données, le panneau Liaisons peut vous aider en affichant des listes de champs en fonction de la définition des liaisons de données que vous avez effectuée. Par exemple, vous pouvez afficher la liste des champs avec liaisons de données globales uniquement ou seulement ceux pour lesquels aucune liaison de données n'est définie. Cette fonction est particulièrement utile dans les formulaires comportant un grand nombre de liaisons de données.
Panneau Journal de la palette Rapport Affiche des messages de validation, des erreurs d'exécution de script JavaScript ou FormCalc et des erreurs de rendu de formulaire générées par Designer ES2 lorsque vous importez ou enregistrez un formulaire ou que vous le prévisualisez dans l'onglet Aperçu PDF.
Palette Hiérarchie Vous pouvez vous servir de la palette Hiérarchie pour déterminer l'emplacement d'un objet de formulaire pour une syntaxe de référence. La palette Hiérarchie donne une représentation graphique de la structure de votre formulaire. Elle présente le contenu des panneaux Gabarit et Vue de conception.
La palette Hiérarchie affiche également les objets référencés sous le noeud Objets référencés. Un objet est référencé lorsqu'il est ajouté à un formulaire uniquement en cas de besoin. Dès que des données sont enchaînées sur plusieurs pages ou zones de contenu, des sous-formulaire de début et de fin de débordement sont insérés dans le formulaire aux endroits appropriés.
Panneau Liaison de la palette Objet Chaque objet Designer ES2 pouvant être lié à une source de données possède un onglet Liaison dans la palette Objet. Si vous liez un objet de votre conception de formulaire à un nœud de données particulier à partir de votre connexion de données, la liste Liaison de données (Ouvrir, Enregistrer, Envoyer) affiche une syntaxe de référence FormCalc valide pour l'accès à ce nœud de données. Vous pouvez utiliser la syntaxe de référence FormCalc dans d'autres calculs ou scripts lors des tests.
Panneau Source XML Le panneau Source XML contient le code XML de la conception de formulaire. Le code source XML définit tous les aspects du formulaire. Vous pouvez vous servir du panneau Source XML pour vérifier la structure du modèle d'objet de formulaire XML pour une conception de formulaire et pour comprendre la relation entre les objets et les propriétés. Dans la source XML, les noms d'éléments XML sont équivalents aux noms d'objets dans le modèle d'objet de formulaire XML et les attributs sont équivalents aux propriétés.
Lorsque vous sélectionnez un objet dans la palette Hiérarchie, puis cliquez sur le panneau Source XML, la première ligne de l'élément correspondant est mise en surbrillance. Le nom de l'objet dans Designer ES2, tel qu'il est indiqué dans la palette Hiérarchie, devient la valeur de l'attribut name dans la source XML.
Vous pouvez configurer les options dans la boîte de dialogue Outils > Options afin de visualiser la source dans le panneau Source XML de manière à afficher ou masquer les numéros de ligne et à définir la couleur de la syntaxe, par exemple.
Evitez de modifier directement le code source XML.
3. Création de calculs et de scripts
Designer ES2 offre une grande variété de fonctions de calcul et de script prévues pour réaliser une multitude d'opérations. Par exemple, le script suivant modifie la couleur de bordure appliquée à la zone de texte et la taille de police de la valeur du champ de texte :
TextField1.border.edge.color.value = "255,0,0";
TextField1.font.typeface = "Courier New";
Il peut être intéressant d'élaborer des formulaires plus complexes pour tirer parti des fonctions de script dans le but d'établir une connexion à la source de données et de manipuler les données au moment de l'exécution. Pour obtenir des exemples de tâches de script courantes, voir
« Exemples de tâches de script courantes » à la page 92.
La création de calculs et de scripts dans Designer ES2 fait appel à une procédure générale que vous devez exécuter chaque fois que vous attachez un calcul ou un script à un objet. Bien que toutes les étapes de la procédure ne soient pas nécessaires lors de la création d'un calcul ou d'un script, il est conseillé de suivre le déroulement normal de la procédure pour éviter de générer des erreurs et d'obtenir des résultats inattendus.
En règle générale, chaque fois que vous créez un calcul ou un script, voici les différentes tâches qu'il convient d'effectuer :
• Sélectionnez l'objet auquel vous voulez attacher un calcul ou un script. Bien que vous puissiez créer des calculs et des scripts qui manipulent la plupart des objets de la conception de formulaire, tous les objets de champ ne prennent pas en charge les événements de formulaire. Pour obtenir une liste d'objets standard (incluse dans la palette Bibliothèque d'objets dans Designer ES2) qui prennent en charge les scripts, voir « Objets prenant en charge les calculs et les scripts » à la page 10.
• Ecrivez votre calcul ou votre script dans le champ de modification du script de l'éditeur de script.
• Testez le calcul ou le script à partir du panneau Aperçu PDF ou de votre environnement de test.
Globaliser des scripts par propagation de l'événement
Il est possible de globaliser des scripts en activant la propagation de l'événement dans l'éditeur de script. Ce réglage permet à des événements de formulaires de se propager aux conteneurs parents. La propagation de l'événement permet de réduire le nombre de scripts dans un formulaire. Par exemple, vous pouvez créer un script global pour contrôler l'aspect de champs, de sous-formulaires ou de groupes d'exclusion non valides. Voici des exemples d'événements globaux :
• Un événement enter/exit/mouseEnter/mouseExit qui colore le champ actif
• Un événement Change qui assure le suivi de l'utilisation des touches pendant une session de formulaire
Pour activer la propagation de l'événement
❖ Dans l'éditeur de script, sélectionnez Activer la propagation de l'événement.
Remarque : sélectionnez l'objet et écrivez le script au niveau du parent avant d'activer la propagation de l'événement.
Conventions de dénomination des objets et des variables dans une conception de formulaire
Lorsque vous définissez des calculs ou des scripts pour améliorer votre formulaire, soyez particulièrement vigilant quant aux noms que vous donnez aux objets et aux variables dans une conception de formulaire. Évitez d'utiliser des noms de propriétés, de méthodes et d'objets de modèle d'objet de formulaire XML pour désigner les objets et les variables dans la conception de formulaire. Les calculs et les scripts risqueraient sinon de ne pas s'exécuter correctement.
Par exemple, si vous créez un nouveau champ de texte nommé x dans un objet de sous-formulaire nommé Subform1, vous pouvez accéder à l'objet de champ de texte à l'aide de la syntaxe suivante :
Subform1.x.[expression]
Cependant, les objets de sous-formulaire présentent déjà une propriété Modèle d'objet de formulaire XML nommée x qui représente la position horizontale du sous-formulaire sur la conception de formulaire.
Pour éviter des conflits de noms, vous devez choisir des conventions d'attribution de noms de champ qui diffèrent des conventions d'attribution de noms du modèle d'objet de formulaire XML. Par exemple, vous pouvez utiliser un des noms de champ suivants pour le champ de texte de l'exemple ci-dessus :
• horizontalValue
• x_value
• xLetter
• hValue
Pour obtenir plus d'informations et la liste des noms d'objets, de méthodes et de propriétés Modèle d'objet de formulaire XML, voir le Guide de référence pour les scripts de LiveCycle Designer.
Choix du langage de script
Designer ES2 prend en charge les scripts créés avec FormCalc et JavaScript. Avant d'écrire un script dans un formulaire, vous devez connaître les avantages que présentent chacun des langages de script.
FormCalc est un langage de calcul qui inclut une grande variété de fonctions intégrées destinées à simplifier les fonctionnalités de formulaire les plus courantes. Vous pouvez, par exemple, profiter des fonctions financières de FormCalc pour évaluer le montant du versement d'un prêt, compte tenu du montant du prêt, du taux d'intérêt et du nombre de versements.
JavaScript est un langage de script plus puissant et varié. Outre une plus grande flexibilité, il vous permet de mettre à profit vos connaissances en matière de script. Vous pouvez, par exemple, réutiliser les fonctions JavaScript existantes dans Designer ES2 pour limiter le nombre de lignes de code à écrire.
Remarque : Designer ES2 prend en charge les versions JavaScript 1.6 et antérieures.
Vous pouvez sélectionner le langage de script utilisé pour les nouveaux formulaires dans le panneau Espace de travail de la boîte de dialogue Options et pour le formulaire actif dans l'onglet Valeurs par défaut de la boîte de dialogue Propriétés du formulaire.
Le langage de script affiché dans la liste Langage de l'éditeur de script correspond à l'option de langage de script que vous choisissez comme langage par défaut pour les nouveaux formulaires. Cependant, si vous modifiez le réglage de langage de script pour le formulaire actif, le langage de script affiché dans la liste Langage est également modifié pour les nouveaux scripts des nouveaux événements. La modification de l'option de langage de script dans la boîte de dialogue Propriétés du formulaire n'affecte en rien le langage de script utilisé pour les scripts existants. Si un événement contient déjà un script et que ce script est supprimé, l'éditeur de script continue d'utiliser le même langage de script pour toute la durée de votre session de travail dans Designer ES2.
Le tableau suivant souligne quelques différences essentielles entre FormCalc et JavaScript.
FormCalc JavaScript
Langage de calcul natif Adobe dans Designer ES2 et Formulaires ES2 Langage de script standard utilisé dans de nombreuses applications logicielles courantes
Scripts plus courts (généralement une ligne seulement) Reconnaît les boucles de script
Possibilité de scripts plus longs si nécessaire avec la possibilité d'utiliser des boucles
Non pris en charge par les guides de formulaire Pris en charge par les guides de formulaire Contient une variété de fonctions intégrées utiles qui réduisent le nombre de
scripts requis pour accomplir les tâches courantes sur les conceptions de formulaire
Fournit l'accès aux fonctions de modèle d'objet Acrobat et aux fonctions JavaScript d'Acrobat
Reconnaît les formats de date, d'heure, de devise et de nombre Débogage possible en utilisant JavaScript Debugger dans Acrobat Les fonctions URL intégrées Post, Put et Get permettent des interactions Web. Possibilité de créer des fonctions adaptées à vos besoins
Pour créer un calcul ou un script
1 Sélectionnez un objet de la conception de formulaire qui prend en charge les événements. Ajoutez par exemple un bouton à un nouveau formulaire vierge.
2 Dans la liste Afficher de l'éditeur de script, choisissez un des événements qui s'applique à l'objet. L'événement que vous sélectionnez détermine le moment d'exécution du script. Si vous écrivez un calcul ou un script ayant un impact sur un objet qui ne reconnaît pas les événements de formulaire, vous devez ajouter votre calcul ou script à un objet de conception de formulaire qui prend en charge les événements. Par exemple, à l'aide du nouvel objet de bouton, sélectionnez l'événement click dans la zone Afficher.
3 Choisissez le langage de script dans la liste Langage. Par exemple, pour le nouvel objet de bouton, sélectionnez JavaScript.
4 Dans la liste Exécuter sur, choisissez l'emplacement où le script doit être exécuté. Par exemple, pour le nouvel objet de bouton, sélectionnez Client.
Vous pouvez choisir d'exécuter des calculs ou des scripts sur l'application cliente (par exemple, Acrobat ou un navigateur Web) ou l'application serveur (par exemple, Formulaires ES2). Dans le cas de l'application cliente, le traitement des calculs et des scripts s'effectue après la génération du formulaire. Dans le cas de l'application serveur, les calculs et des scripts sont exécutés au moment de la génération du formulaire. La prévisualisation de votre formulaire à l'aide du panneau Aperçu PDF permet de simuler l'ouverture du formulaire dans Acrobat. Ainsi, les scripts s'exécutent sur l'application client ou l'application client et serveur.
Remarque : si vous choisissez Client et serveur dans la liste Exécuter sur, le script est exécuté soit sur l'application client, soit sur l'application serveur, selon l'application qui traite le formulaire.
5 Dans le champ Source du script, insérez le calcul FormCalc ou script JavaScript. Vous pouvez tirer profit de la fonctionnalité de fin d'instructions de Designer ES2 pour créer les syntaxes de référence dans le cadre de calculs ou de scripts. Vous pouvez, par exemple, ajouter le script JavaScript suivant au nouvel objet de bouton :
xfa.host.messageBox("Bonjour le monde !", "Création d'un fichier PDF", 3);
6 Une fois que vous avez terminé votre conception de formulaire, testez et déboguez vos calculs et scripts avant de les mettre en production. Par exemple, pour le nouvel objet de bouton, prévisualisez le document PDF du formulaire à l'aide du panneau Aperçu PDF.
Cliquez sur l'objet de bouton pour afficher la zone de message indiquée à l'étape 5.
Pour plus d'informations sur les objets Designer ES2 qui prennent en charge la fonction de script, voir « Objets prenant en charge les calculs et les scripts » à la page 10.
Pour rechercher du texte ou d'autres éléments
Vous pouvez rechercher rapidement dans le panneau Source XML ou dans l'éditeur de script toutes les occurrences d'une expression ou d'un mot précis.
1 Dans le panneau Source XML ou dans l'éditeur de script, choisissez Edition > Rechercher ou cliquez avec le bouton droit pour afficher le menu contextuel.
2 Dans la zone Rechercher, entrez le texte à rechercher.
3 Sélectionnez les autres options de votre choix.
4 Cliquez sur Rechercher suivant.
Pour annuler une recherche en cours, appuyez sur Echap ou cliquez sur le bouton Annuler.
Attention : bien qu'il soit possible de modifier le code source XML directement dans le panneau Source XML, il est recommandé de ne pas faire de modifications à moins que vous ne soyez habitué à l'architecture de formulaires XML d'Adobe. Pour obtenir de plus amples informations sur l'architecture de formulaires XML, voir www.adobe.com/devnet/livecycle/.
Pour remplacer du texte ou d'autres éléments
Vous pouvez remplacer automatiquement du texte. Par exemple, vous pouvez remplacer Cie par Compagnie.
1 Dans l'éditeur de script, sélectionnez Edition > Replace.
2 Dans la zone Rechercher, entrez le texte à rechercher.
3 Dans la zone Remplacer par, entrez le texte de substitution.
4 Sélectionnez les autres options de votre choix.
5 Cliquez sur Suivant, Remplacer ou Remplacer tout.
6 Pour annuler une recherche en cours, appuyez sur Echap ou cliquez sur le bouton Annuler.
Pour remplacer le texte qui apparaît dans les scripts attachés à plusieurs objets sur votre formulaire, sélectionnez le sous-formulaire racine de votre formulaire (par défaut : form1) et sélectionnez Afficher les événements pour les objets enfant puis effectuez la procédure ci-dessus.
Attention : bien qu'il soit possible de modifier le code source XML directement dans le panneau Source XML, il est recommandé de ne pas faire de modifications à moins que vous ne soyez habitué à l'architecture de formulaires XML d'Adobe. Pour obtenir de plus amples informations sur l'architecture de formulaires XML, voir www.adobe.com/devnet/livecycle/.
Pour utiliser des options de fin d'instructions pour créer des calculs et des scripts
La fonctionnalité de fin d’instructions de l’éditeur de script permet de créer des calculs et des scripts de manière interactive.
Durant la création d’un calcul ou d’un script, lorsque vous saisissez un point (« . ») immédiatement après un objet de formulaire ou un nom de propriété, la fonctionnalité de fin d'instructions affiche une liste des méthodes et des propriétés disponibles. Si la liste de fin d'instructions n'apparaît pas, assurez-vous d'avoir saisi correctement le nom de la propriété ou de l'objet et assurez-vous que celui-ci se trouve dans la plage d'objets dans laquelle vous créez votre script. Pour plus d'informations au sujet du référencement des objets dans des calculs et des scripts, voir « Référence aux objets dans les calculs et les scripts » à la page 60.
1 Tapez le nom d'un objet de conception de formulaire, d'une propriété ou d'un raccourci FormCalc valide suivi d'un point (« . »).
A. Propriétés de modèle d'objet de formulaire XML disponibles B. Affichage d'information
2 Choisissez la méthode ou la propriété que vous souhaitez appliquer à l'objet de modèle de formulaire et poursuivez l'écriture du script.
Pour fermer la liste de fin d'instructions sans sélectionner de fonction, appuyez sur la touche Echap.
La liste des propriétés disponibles du modèle d'objet de formulaire XML varie en fonction de l'objet de modèle de formulaire ou de la propriété qui apparaît avant le point (« . »).
Remarque : la liste de fin d'instructions apparaît uniquement lors de l'accès aux objets, propriétés et méthodes dans l'objet Modèle d'objet de formulaire XML. Elle n'apparaît pas lorsque vous travaillez avec des objets ou des méthodes JavaScript standard.
Pour insérer automatiquement la syntaxe de référence d'objet
Au lieu d'utiliser la liste de fin d’instructions pour créer une syntaxe de référence d'objet, vous pouvez tirer parti de la fonction d'insertion de syntaxe de référence d'objet pour intégrer automatiquement la syntaxe de référence à votre calcul ou à votre script. Cette fonction insère la syntaxe de référence abrégée pour l'objet sélectionné à partir de la zone du canevas dans le champ Source du script de l'éditeur de script.
Vous perdrez ainsi beaucoup moins de temps lors de la création des calculs et des scripts et aurez l'assurance que la syntaxe est correcte.
1 Assurez-vous que le champ Source du script de l'éditeur de script est activé et que le curseur est positionné à l'endroit où vous souhaitez insérer la référence d'objet.
2 Dans votre formulaire, cliquez sur l'objet à référencer tout en maintenant la touche Ctrl enfoncée. Le curseur se transforme en pour vous assister dans la sélection d'un objet.
Détermination du moment de l'exécution de votre calcul ou script
Chaque fois que vous créez des calculs et des scripts, vous êtes tenu d'associer chaque entrée à un événement de formulaire spécifique.
Chaque événement correspond à un changement dans l'état du formulaire qui se produit à un moment précis. Ce changement peut survenir lors de la génération du formulaire sur le serveur par Formulaires ES2, sur le client par Acrobat ou par Adobe Reader pendant qu'un utilisateur remplit un formulaire. Lorsque le changement d'état se produit, tous les calculs ou scripts associés à l'événement sont traités automatiquement.
L'événement utilisé lors de la création d'un calcul ou d'un script détermine, dans une certaine mesure, les éléments à prendre en compte dans le calcul ou le script. La quantité et le type d'informations disponibles dans un formulaire peut varier en fonction du moment choisi pour le déclenchement de l'événement. Ainsi, un calcul ou un script ayant pour fonction de récupérer une valeur peut donner des résultats différents selon qu'il est exécuté avant ou après les actions effectuées par la personne remplissant le formulaire. Pour plus d'informations sur les événements, voir « Evénements » à la page 26.
Selon le type de formulaire que vous créez, il est possible que certains événements n'aient jamais lieu. Si vous concevez, par exemple, un formulaire avec une disposition fixe et sans objet interactif, les événements interactifs associés aux actions de la personne chargée de remplir le formulaire risquent de ne jamais se produire. Les scripts correspondant à ces événements ne seront donc pas exécutés.
Bien que Designer ES2 prenne en charge une grande variété d'événements de formulaire, il est possible de réaliser de très nombreuses tâches de calcul et de script en ayant recours simplement à quelques événements se produisant lors de changements majeurs dans l'état du formulaire, comme dans le cas des événements suivants :
• docReady Se produit juste après l'ouverture du formulaire dans Acrobat ou Adobe Reader® et juste avant que la personne remplissant le formulaire commence à interagir avec les objets du formulaire. Cet événement est le dernier qui se produit avant que le contrôle du formulaire ne soit donné à l'utilisateur.
• enter Se produit lorsque la personne remplissant le formulaire active un champ, un bouton ou un sous-formulaire particulier.
• exit Se produit lorsque la personne remplissant le formulaire active un autre objet à la place d'un champ, d'un bouton ou d'un sous- formulaire particulier.
• change Se produit lorsque la personne remplissant le formulaire modifie la valeur d'un champ. Cet événement est plus
communément utilisé avec des listes déroulantes ou des zones de liste pour exécuter un script lorsqu'un utilisateur modifie la valeur actuelle.
• click Se produit lorsque la personne remplissant le formulaire clique sur un champ ou un bouton. Cet événement est plus communément utilisé avec les boutons pour exécuter un script lorsqu'un utilisateur clique sur un bouton.
Pour afficher les événements de script et les scripts
L'éditeur de script offre différents moyens de visualiser des événements de script pour les objets de votre formulaire, selon le type d'objet que vous sélectionnez et le nombre d'événements que vous avez l'intention d'afficher.
Avant de commencer, assurez-vous que les paramètres suivants sont appliqués :
• Pour afficher l’éditeur de script, choisissez Fenêtre > Editeur de script.
• Si la fenêtre de l'éditeur de script n'est pas assez grande pour afficher au moins deux lignes de script à la fois, agrandissez-la en faisant glisser vers le bas sa bordure inférieure.
Pour afficher un événement de script pour un simple objet dans l'éditeur de script 1 Sélectionnez un objet dans votre formulaire.
2 Dans la zone Afficher, sélectionnez un événement de script valide.
Pour afficher un événement de script pour un objet conteneur et ses enfants dans l'éditeur de script
1 S'il n'est pas déjà en mode multiligne, agrandissez l’éditeur de script afin d'afficher plusieurs lignes de script et assurez-vous que l'option Afficher les événements pour les objets enfant est activée.
2 Sélectionnez un objet conteneur, tel qu'un sous-formulaire.
3 Dans la zone Afficher, sélectionnez un événement de script valide.
Les événements sont présentés dans le champ de modification du script de l'éditeur de script, séparés par la syntaxe de référence pour chaque événement. Certains événements s'appliquent uniquement à des types d'objet spécifiques. Lorsque vous sélectionnez un événement de script, le champ de modification du script de l'éditeur de script présente seulement les instances valides de l'événement.
Si vous sélectionnez, par exemple, un sous-formulaire contenant une liste déroulante et choisissez l'événement preOpen, l'éditeur de script affiche une seule entrée représentant la liste déroulante. En effet, l'événement preOpen s'applique exclusivement aux listes déroulantes. A l'inverse, la sélection de l'événement enter a pour effet d'afficher deux entrées, une pour la liste déroulante et une pour le sous-formulaire.
Remarque : pour identifier les événements contenant des scripts, la zone Afficher insère un astérisque (*) à la suite du nom de l'événement.
Si un événement contient un script, dès que vous le sélectionnez dans la zone Afficher, la source est indiquée dans le champ de modification du script de l'éditeur de script.
Pour afficher tous les événements de script pour un simple objet dans l'éditeur de script 1 Sélectionnez un objet dans votre formulaire.
2 Dans la liste Afficher, sélectionnez Tous les événements.
Les événements sont présentés dans le champ de modification du script de l'éditeur de script, séparés par la syntaxe de référence pour chaque événement.
Pour afficher tous les événements de script pour un objet conteneur et ses enfants dans l'éditeur de script
1 S'il n'est pas déjà en mode multiligne, agrandissez l’éditeur de script afin d'afficher plusieurs lignes de script et assurez-vous que l'option Afficher les événements pour les objets enfant est activée.
2 Sélectionnez un objet conteneur, tel qu'un sous-formulaire.
3 Dans la liste Afficher, sélectionnez Tous les événements.
Les événements sont présentés dans le champ de modification du script de l'éditeur de script, séparés par la syntaxe de référence pour chaque événement.
Pour afficher tous les scripts pour un simple objet dans l'éditeur de script 1 Sélectionnez un objet auquel est associé un script.
2 Dans la zone Afficher, sélectionnez Evénements avec scripts.
Les scripts sont présentés dans le champ de modification du script de l'éditeur de script, séparés par la syntaxe de référence pour chaque événement.
Pour afficher tous les scripts pour un objet conteneur et ses enfants dans l'éditeur de script
1 S'il n'est pas déjà en mode multiligne, agrandissez l’éditeur de script afin d'afficher plusieurs lignes de script et assurez-vous que l'option Afficher les événements pour les objets enfant est activée.
2 Sélectionnez un objet conteneur, tel qu'un sous-formulaire. Tous les événements correspondant à l'objet conteneur et ses objets enfant apparaissent dans l'éditeur de script.
3 Dans la liste Afficher, sélectionnez Tous les événements.
Les scripts sont présentés dans le champ de modification du script de l'éditeur de script, séparés par la syntaxe de référence pour chaque événement.
Détermination de l'emplacement d'exécution de votre calcul ou script
Pour chaque calcul ou script créé dans Designer ES2, vous devez préciser l'emplacement où le calcul ou le script doit être exécuté.
A moins que vous n'utilisiez un traitement sur serveur tel que Formulaires ES2, assurez-vous que tous vos calculs et scripts sont exécutés sur l'application cliente (par exemple, sur Acrobat ou un navigateur Web).
Remarque : les calculs et les scripts FormCalc ne sont pas compatibles avec les formulaires générés au format HTML ; ils ne sont pas pris en compte lors du remplissage de ces formulaires.
Si vous utilisez un traitement sur serveur, vous avez le choix entre exécuter les calculs sur l'application cliente ou sur le serveur. Dans le deuxième cas, vous choisissez d'exécuter les scripts à un certain point durant le processus de rendu de formulaires.
Si vous choisissez Client et serveur dans la liste Exécuter sur, votre calcul ou script est disponible à la fois pour les applications de type client et serveur. Cette option peut s'avérer particulièrement utile, par exemple, si vous ne savez pas si vos utilisateurs souhaitent utiliser leurs formulaires sur des applications client ou serveur. Cette option est également pratique lorsque vous voulez que certains objets de formulaire se comportent différemment sur les applications client et sur les applications serveur.
Test et débogage des calculs et des scripts
Après avoir créé vos calculs ou scripts et testé votre formulaire, vous pouvez détecter des erreurs de script ou des valeurs de champ inattendues résultant des erreurs de script.
Designer ES2 propose trois méthodes principales pour tester et déboguer vos calculs et scripts :
• Utilisation des palettes Espace de travail de Designer ES2. Pour plus de détails, voir « Utilisation de l'espace de travail pour le débogage des calculs et des scripts » à la page 16.
• Pour JavaScript uniquement, JavaScript Debugger vous aide à tester vos scripts. Pour plus de détails sur l’utilisation du débogueur, voir
« JavaScript Debugger dans Acrobat Professional » à la page 73.
• Résolution des erreurs de votre formulaire à l'aide des propriétés et méthodes du modèle d'événement et du modèle d'hôte.
Le modèle d'événement et le modèle d'hôte offrent les fonctionnalités nécessaires pour interagir avec l'application hôte ou les différents événements liés au formulaire. Ces modèles renvoient des informations utiles pour le débogage des calculs et des scripts.
Par exemple, le script suivant renvoie un message au moment de l'exécution, indiquant le nom de l'événement contenant le script. Cela indique qu'un événement particulier a été déclenché :
xfa.host.messageBox(xfa.event.name) // FormCalc xfa.host.messageBox(xfa.event.name); // JavaScript
Un autre exemple consiste à obtenir la valeur d'un champ d'un formulaire interactif avant que l'utilisateur ne le modifie manuellement. Cela est utile pour déterminer comment les objets de votre conception de formulaire répondent aux données saisies par l'utilisateur :
xfa.host.messageBox(xfa.event.prevText) // FormCalc xfa.host.messageBox(xfa.event.prevText); // JavaScript
Pour vérifier la syntaxe des scripts
Lorsque vous travaillez sur une conception de formulaire, vous pouvez vérifier tous les scripts JavaScript ou FormCalc contenant d'éventuelles erreurs de syntaxe afin de vous assurer que les fonctions de formulaire sont celles prévues avant de le diffuser. Les erreurs de syntaxe de scripts trouvées dans le formulaire sont affichées sur l'onglet Avertissements de la palette Rapport. Sur l'onglet Avertissements de la palette Rapport, chaque erreur est répertoriée sur une ligne numérotée distincte avec le nom de l'événement et de l'objet de script ainsi qu'une description de l'erreur. Si de nombreux événements sont affichés, le numéro de ligne pour chaque événement commence par 1.
Vous pouvez cliquer sur une erreur de script contenue dans la liste pour afficher le script pertinent, mettre en surbrillance la ligne qui contient l'erreur et rechercher le point d'insertion au début de la ligne mise en surbrillance. Les erreurs de syntaxe de scripts sont également répertoriées dans l'onglet Avertissements lorsque vous enregistrez une conception de formulaire ou que vous la prévisualisez à l'aide de l'onglet Aperçu PDF.
Remarque : vous pouvez également utiliser la boîte de dialogue Atteindre la ligne pour sélectionner l'événement que vous souhaitez visualiser.
La liste déroulante d'événements de scripts comprend l'expression SOM (System Object Model), comme indiqué dans les lignes d'en-tête pour chaque événement actuellement visible dans l'Editeur de script.
❖ Dans l'Editeur de script, choisissez Outils > Vérifiez la syntaxe des scripts.
Utilisation des mesures de protection
Le script qui modifie le modèle sourceSet ou ses enfants rend la certification du formulaire incorrecte et le formulaire ne peut plus être approuvé. Puisqu'un formulaire peut être certifié à tout moment au cours de son cycle de vie, il est important d'utiliser des techniques de script qui empêchent l'échec du formulaire après sa certification.
Vous devez travailler avec des clones de ce modèle plutôt qu'avec ce modèle si vous envisagez d'utiliser des scripts qui modifient le modèle sourceSet ou l'un de ses enfants. Le clonage empêche l'échec du formulaire lorsque les scripts modifient un modèle de données. Par exemple, les formulaires qui exécutent des tâches communes, telles que l'affichage des enregistrements ou la sélection d'enregistrements spécifiques dans une base de données, nécessitent la modification des noeuds de connexion des données contenus dans le modèle sourceSet.
Pour cloner le modèle sourceSet, vous devez créer une méthode sur le script qui définit la connexion des données que vous souhaitez modifier dans le modèle sourceSet et vous assurer que le script continue d'utiliser le clone au lieu de la définition.
Prenez en considération le script suivant dans une liste déroulante de données. Le script remplit la liste à partir d'une source de données.
...
var oDB = xfa.sourceSet.nodes.item(nIndex);
...
// Rechercher un nœud avec le nom de classe "command"
var nDBIndex = 0;
while(oDB.nodes.item(nDBIndex).className != "command") nDBIndex++;
oDB.nodes.item(nDBIndex).query.recordSet.setAttribute("stayBOF", "bofAction");
oDB.nodes.item(nDBIndex).query.recordSet.setAttribute("stayEOF", "eofAction");
Pour cloner le modèle sourceSet, vous devez modifier la ligne qui a accès à ce dernier en modifiant la méthode de clonage (1) à la fin de l'instruction :
var oDB = xfa.sourceSet.nodes.item(nIndex).clone(1);
Remarque : vous pouvez stocker le noeud de connexion de données clonées dans une variable ou une variable définie dans un objet de script.