Préremplissage des formulaires

Le préremplissage des formulaires permet d’afficher des données pour les utilisateurs dans un formulaire rendu. Imaginons, par exemple, qu’un utilisateur se connecte à un site Web avec un nom d’utilisateur et un mot de passe. Si l’authentification réussit, l’application personnalisée interroge une base de données pour obtenir les informations utilisateur. Les données sont fusionnées dans le formulaire, puis ce dernier est rendu à l’utilisateur. Par conséquent, l’utilisateur peut afficher des données personnalisées dans le formulaire.

Le préremplissage d’un formulaire offre les avantages suivants :

  • Elle permet à l’utilisateur d’afficher des données personnalisées dans un formulaire

  • Elle permet de réduire le volume de saisie de l’utilisateur pour remplir un formulaire

  • Elle assure l’intégrité des données grâce au contrôle du placement des données

    Les deux sources de données XML suivantes peuvent préremplir un formulaire :

  • Source de données XDP, correspondant à une source de données XML conforme à la syntaxe XFA (ou des données XFDF pour préremplir un formulaire créé à l’aide d’Acrobat).

  • Source de données XML arbitraire contenant des paires nom/valeur correspondant aux noms des champs du formulaire.

    Un élément XML doit être inclus pour chacun des champs de formulaire que vous souhaitez préremplir. Le nom de l’élément XML doit correspondre au nom du champ. Un élément XML est ignoré s’il ne correspond pas à un champ du formulaire ou si son nom ne concorde pas avec le nom du champ. Il n’est pas nécessaire de respecter l’ordre d’affichage des éléments XML si tous les éléments XML sont spécifiés.

    Lorsque vous préremplissez un formulaire qui contient déjà des données, spécifiez les données qui sont déjà affichées dans la source de données XML. Imaginons qu’un formulaire composé de 10 champs contienne des données dans 4 champs. Imaginons ensuite que vous souhaitiez préremplir les 6 autres champs. Vous devez alors spécifier 10 éléments XML dans la source de données XML utilisée pour préremplir le formulaire. Si vous n’indiquez que 6 éléments, les 4 champs d’origine seront vides.

    Par exemple, pour préremplir un formulaire de confirmation, vous devez créer une source de données XML contenant trois éléments XML qui correspondent aux trois champs du formulaire. Ce formulaire contient les trois champs suivants : FirstName, LastName et Amount. La première étape consiste à créer une source de données XML contenant des éléments XML qui correspondent aux champs figurant dans la conception de formulaire, comme indiqué dans le code XML suivant.

    <Untitled> 
        <FirstName> 
        <LastName> 
        <Amount> 
    </Untitled>

    L’étape suivante consiste à attribuer des valeurs de données aux éléments XML, comme indiqué dans le code XML suivant :

    <Untitled> 
        <FirstName>Jerry</FirstName> 
        <LastName>Johnson</LastName> 
        <Amount>250000</Amount> 
    </Untitled>

    Une fois le formulaire de confirmation prérempli avec cette source de données XML et le formulaire rendu, les valeurs des données que vous avez attribuées aux éléments XML sont affichées, comme indiqué dans l’illustration ci-dessous.

Préremplissage de formulaires présentant une mise en page modulable

Ces formulaires se révèlent utiles en cas de présentation d’un volume de données indéterminé aux utilisateurs. La mise en page du formulaire s’adapte automatiquement à la quantité de données fusionnées. Vous n’avez donc pas besoin de définir à l’avance un nombre de pages, comme dans le cas des formulaires présentant une mise en page fixe.

Un formulaire présentant une mise en page modulable est généralement rempli avec des données obtenues pendant l’exécution. Par conséquent, vous pouvez préremplir un formulaire en créant une source de données XML en mémoire et en y plaçant directement les données.

L’illustration ci-dessous montre un exemple de formulaire de bon de commande présentant une mise en page modulable.

Afficher le graphique en taille réelle
A.
représente la partie dynamique du formulaire

B.
représente les données d’en-tête du formulaire

Remarque : les formulaires peuvent être préremplis avec des données provenant d’autres sources, comme une base de données d’entreprise ou des applications externes.

Description des sous-groupes de données

Une source de données XML est utilisée pour préremplir des formulaires. Une source de données XML utilisée pour préremplir un formulaire présentant une mise en page modulable contient des sous-groupes de données répétitifs. Le code XML suivant illustre la source de données XML utilisée pour préremplir le formulaire de bon de commande.

    <header>  
        <!-- XML elements used to prepopulate non-repeating fields such as address 
        <!and city  
        <txtPONum>8745236985</txtPONum>  
        <dtmDate>2004-02-08</dtmDate>  
        <txtOrderedByCompanyName>Any Company Name</txtOrderedByCompanyName>  
        <txtOrderedByAddress>555, Any Blvd.</txtOrderedByAddress>  
        <txtOrderedByCity>Any City</txtOrderedByCity>  
        <txtOrderedByStateProv>ST</txtOrderedByStateProv>  
        <txtOrderedByZipCode>12345</txtOrderedByZipCode>  
        <txtOrderedByCountry>Any Country</txtOrderedByCountry>  
        <txtOrderedByPhone>(123) 456-7890</txtOrderedByPhone>  
        <txtOrderedByFax>(123) 456-7899</txtOrderedByFax>  
        <txtOrderedByContactName>Contact Name</txtOrderedByContactName>  
        <txtDeliverToCompanyName>Any Company Name</txtDeliverToCompanyName>  
        <txtDeliverToAddress>7895, Any Street</txtDeliverToAddress>  
        <txtDeliverToCity>Any City</txtDeliverToCity>  
        <txtDeliverToStateProv>ST</txtDeliverToStateProv>  
        <txtDeliverToZipCode>12346</txtDeliverToZipCode>  
        <txtDeliverToCountry>Any Country</txtDeliverToCountry>  
        <txtDeliverToPhone>(123) 456-7891</txtDeliverToPhone>  
        <txtDeliverToFax>(123) 456-7899</txtDeliverToFax>  
        <txtDeliverToContactName>Contact Name</txtDeliverToContactName>  
    </header>  
    <detail>  
        <!-- A data subgroup that contains information about the monitor> 
        <txtPartNum>00010-100</txtPartNum>  
        <txtDescription>Monitor</txtDescription>  
        <numQty>1</numQty>  
        <numUnitPrice>350.00</numUnitPrice>  
    </detail>  
    <detail>  
        <!-- A data subgroup that contains information about the desk lamp> 
        <txtPartNum>00010-200</txtPartNum>  
        <txtDescription>Desk lamps</txtDescription>  
        <numQty>3</numQty>  
        <numUnitPrice>55.00</numUnitPrice>  
    </detail>  
    <detail> 
        <!-- A data subgroup that contains information about the Phone> 
            <txtPartNum>00025-275</txtPartNum>  
            <txtDescription>Phone</txtDescription>  
            <numQty>5</numQty>  
            <numUnitPrice>85.00</numUnitPrice>  
    </detail>  
    <detail> 
        <!-- A data subgroup that contains information about the address book> 
        <txtPartNum>00300-896</txtPartNum>  
        <txtDescription>Address book</txtDescription>  
        <numQty>2</numQty>  
        <numUnitPrice>15.00</numUnitPrice>  
    </detail>

Notez que chaque sous-groupe de données contient quatre éléments XML qui correspondent aux informations suivantes :

  • Numéro des articles

  • Description des articles

  • Nombre d’articles

  • Prix à l’unité

    Le nom d’un élément XML parent du sous-groupe de données doit correspondre au nom du sous-formulaire figurant dans la conception de formulaire. Par exemple, dans l’illustration ci-dessus, vous pouvez voir que le nom de l’élément XML parent du sous-groupe de données est detail. Il correspond au nom du sous-formulaire figurant dans la conception de formulaire sur laquelle le formulaire de bon de commande est basé. Si le nom de l’élément XML parent du sous-groupe de données et celui du sous-formulaire ne correspondent pas, un formulaire côté serveur ne sera pas prérempli.

    Chaque sous-groupe de données doit contenir des éléments XML qui correspondent aux noms des champs du sous-formulaire. Le sous-formulaire detail figurant dans la conception de formulaire contient les champs suivants :

  • txtPartNum

  • txtDescription

  • numQty

  • numUnitPrice