## Comment créer votre premier formulaire web en PDF avec Scribus

Avec des remerciements à Maciej Hanski, qui a gracieusement traduit ceci à partir de l'original en polonais, sous licence FDL.

Les fichiers d'exemple, `scribusformphp.tar.gz`, un tarball d'un fichier php et d'un document exemple, sont disponibles à l'adresse http://docs.scribus.net

Un des plus grands avantages de Scribus est la possibilité de créer des formulaires PDF incluant des script JavaScript (dans la version de Adobe), comme décrit dans la référence JavaScript de Adobe à l'adressehttp://partners.adobe.com/asn/developer/pdfs/tn/5186AcroJS.pdf

Il est assez simple de créer un nouveau formulaire avec Scribus. Nous commençons par cliquer sur l'icône "Nouveau document" ou choisir Nouveau dans le menu Fichier.

Activons alors la grille (menu Affichage -> Afficher la grille), ce qui nous aidera à positionner correctement nos champs de formulaire dans la page. Nous avons besoin de cadres de texte pour former un beau titre et des descriptions de champs - quelques clics sur l'icône [ab] et tous les cadres de texte sont là en un rien de temps.

Après avoir rempli les cadres avec du texte, nous pouvons changer leurs propriétés avec la palette Propriétés, qui peut être trouvée dans le menu Outils.

Nous pouvons maintenant commencer à ajouter les éléments de formulaire : quelques champs de texte et un bouton pour soummetre le formulaire à une URL. Pour ajouter un champ, cliquez simplement sur la flèche à droite de l'icône OK et sélectionnez un type parmi les options affichées : bouton, champ de texte, case à cocher, menu déroulant et liste.

L'élément actif du formulaire à une bordure de cadre rouge. Vous pouvez activer un élément en choisissant l'icône "Sélectionner" (celle avec les flèches transversales) et en cliquant sur l'élément choisi.

Cliquer avec le bouton droit sur un élément active un nouveau menu. Nous choisissons Propriétés sur champ pour définir les noms des champs (nous aurons besoin des noms des champs dans notre script PHP auquel nous enverrons le formulaire), les types (ex : nombre, heure, date) et les actions qui doivent être effectuées lors de différents évènements (Entrée souris, Sortie souris, Autour et ainsi de suite).

Ici nous définissons le champs No comme un nombre. Acrobat Reader n'acceptera alors rien d'autre comme entrée valide.

Ici, nous définissons un script de validation personnalisé pour le champ Nom - après avoir changé le contenu du champ il y aura un son bip et une alerte apparaîtra (pas très sophistiqué, je sais, mais cela démontre quand même les possibilités de PDF). Scribus possède son propre éditeur de texte qui nous permet d'enregistrer un script dans un fichier séparé. Les scripts personnalisés peuvent être définis au niveau des champs, mais aussi en tant que scripts globaux(Édition -> JavaScripts).

Après avoir enregistré le script et fermé l'éditeur, le contenu du script est affiché dans les Propriétés du champ.

Nous devons encore définir à quelle URL le contenu du formulaire sera envoyé (il y a un script PHP simple à l'adresse de destination, lequel formatera et affichera les données reçues du formulaire). Nous choisissons dans les propriétés du bouton le type d'action Envoyer le formulaire et nous entrons l'adresse de notre page PHP : scribus_test.php. Nous choisissons Envoyer les données en HTML (l'autre option serait en données FDF, mais c'est une autre histoire) et nous avons terminé.

La seule chose qui reste à faire est d'exporter le document en PDF : menu Fichier -> Exporter... -> Enregistrer en PDF....
Nous sélectionnons Acrobat 5.0 comme format de fichier et nous enregistrons le fichier.

Le résultat de notre travail peut être téléchargé à l'adresse http://docs.scribus.net, puis testée. Pour soumettre le formulaire nous devons l'ouvrir dans un navigateur, Netscape 4.* ou Mozilla sont des bons choix (vérifiez dans les extensions de Mozilla si l'extension Acrobat Reader est activée. Si ce n'est pas le cas, vous pouvez faire un lien symbolique (symlink) vers le répertoire d'extension de Mozilla. Dans mon cas, le répertoire d'extension de Mozilla est /usr/lib/mozilla-1.3/plug-in et l'extension à lier (symlink) est /usr/local/Acrobat5/Browsers/intellinux/nppdf.so).

Ma toute première impression : Scribus en tant qu'outil pour travailler avec les formulaires PDF semble être beaucoup plus confortable à utiliser que Adobe Acrobat 5.0 (la seule version avec laquelle j'ai travaillé). Il est beaucoup plus facile de mettre en page des documents avec Scribus, puisque Acrobat vous permet seulement d'éditer des documents existants, mais pas de créer un nouveau document à partir de rien. Scribus nous fournit le plein contrôle sur les résultats finaux et nous permet beaucoup plus de liberté dans les changements de mise en page du document. De plus, les fichiers Scribus peuvent être édités avec un simple éditeur de texte, vu que son format de fichier est entièrement basé sur XML.

Maciej Hanski - 22:10:2003

Quelques liens utiles concernant PDF/JavaScript :

- Planet PDF
- Spécification des objets JavaScript de Acrobat
- JavaScript et Scribus

Quelques liens utiles concernant CGI/PHP :

- http://www.cgi101.com/book/ch4/text.html
- http://www.cgi101.com/book/ch4/post-cgi.html
- http://www.mkaz.com/reference/php/setup_linux.html