4D Write Pro est un produit essentiel pour la création de documents commerciaux. C’est pourquoi, à chaque nouvelle version, nous vous offrons de nouvelles fonctionnalités pour parfaire votre travail. Cette fois, 4D v19 R8 apporte des zones de texte flottantes à 4D Write Pro.
Ainsi, si vous êtes amené à utiliser des zones de texte, disons pour créer des lettres d’entreprise conformes à l’identité de la société, vous êtes libre de vous lancer dès maintenant.
Les zones de texte peuvent être familières à certains, mais il peut être utile de rappeler ce qu’elles sont !
Une zone de texte est une zone de texte flottante de n’importe quelle taille contenant du texte, des images ou des tableaux ! Elles peuvent être utilisées de manières très différentes, par exemple pour positionner une adresse à un endroit précis sur le papier afin qu’elle apparaisse clairement dans la fenêtre de l’enveloppe.
Comment créer une zone de texte ?
Comme d’habitude, plusieurs solutions sont possibles ; la plus simple est d’utiliser l’interface. De nouveaux boutons sont disponibles à cet effet dans la barre d’outils et la barre latérale.
Une fois créées, les zones de texte peuvent être déplacées en cliquant sur leurs bords et redimensionnées à l’aide des poignées.
Attributs et contenu des zones de texte
Les zones de texte ont leurs propres attributs. Ces attributs peuvent être modifiés par programmation et simplement en utilisant l’interface.
Vous pouvez choisir le type de bordure, la couleur, l’épaisseur et la couleur de fond de chaque zone de texte.
Quant au contenu, vous pouvez utiliser les zones de texte pour insérer du texte, des images, des tableaux, qui peuvent bien sûr contenir des formules.
Nouvelles commandes et actions standard
De nouvelles commandes et actions standard ont été créées pour créer et supprimer les zones de texte de manière programmatique.
Commençons par les commandes !
Commandes
Deux nouvelles commandes ont été créées pour insérer et supprimer des zones de texte…
- WP new text box
- WP DELETE TEXTBOX
… et beaucoup (beaucoup) de commandes existantes ont été améliorées pour prendre ces nouveaux objets comme paramètres !
En voici quelques-unes :
- WP SET ATTRIBUTES
- WP Get elements
- WP Find all
- WP Get position
- WP Get formulas
- WP Get text
Exemple de code
Dans cet exemple, nous voulons créer une zone de texte qui a les caractéristiques suivantes :
Son contenu doit mesurer 10 cm x 3,5 cm, avoir des marges intérieures de 0,5 cm, et être positionné à 8 cm et 4,5 cm du coin supérieur gauche de la page. Enfin, elle doit être marquée par des bords en pointillés bleus et avoir des coins arrondis.
Pour ce faire, voici le code à écrire.
// #1 create the the text box
$textBox:=WP New text box(WParea; 1)
// #2 define some text box attributes
WP SET ATTRIBUTES($textBox; wk id; "AddressArea")
// define anchoring and position
WP SET ATTRIBUTES($textBox; wk anchor origin; wk paper box)
WP SET ATTRIBUTES($textBox; wk anchor horizontal align; wk left; wk vertical align; wk top)
WP SET ATTRIBUTES($textBox; wk anchor horizontal offset; "8cm"; wk anchor vertical offset; "4.5cm")
// define size and style
WP SET ATTRIBUTES($textBox; wk padding; "0.5cm") // inside margins
WP SET ATTRIBUTES($textBox; wk width; "10cm"; wk height; "3.5cm")
WP SET ATTRIBUTES($textBox; wk border style; wk dashed; wk border color; "Blue"; wk border width; "1pt"; wk border radius; "10pt")
WP SET ATTRIBUTES($textBox; wk vertical align; wk center)
// #3: insert some formulas inside the text box
WP INSERT FORMULA($textBox; Formula(This.data.fullName); wk append)
WP INSERT BREAK($textBox; wk paragraph break; wk append)
WP INSERT FORMULA($textBox; Formula(This.data.fullAddress); wk append)
// #4: Set style to the content of the text box
WP SET ATTRIBUTES($textBox; wk font; "Arial"; wk font bold; wk true; wk font size; "18pt")
Vous n’avez pas envie de programmer aujourd’hui ? Pas de problème, les actions standards sont là pour vous !
Actions standard (associées aux menus ou aux boutons)
« insertTextBox » est la nouvelle action standard pour créer des boîtes de texte, mais le préfixe textbox/ peut également être utilisé pour définir des paramètres comme les marges, les bordures, le rembourrage, l’arrière-plan, etc.
Voici quelques exemples :
- textBox/marginLeft
- textBox/paddingTop
- textBox/borders
- textBox/remove
Ou vous pouvez créer votre propre menu…
$menu:=Create menu
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderStyle")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderColor")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderWidth")
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/backgroundColor")
$value:=Dynamic pop up menu($menu)
// no need to check the $value, all items are based on standard actions!
// just don't forget to release the menu to avoid memory leaks!
RELEASE MENU($menu)
Et voici le menu créé :
EXPORTER VERS HtML, PDF, SVG !
Bien sûr, la plupart des formats d’exportation prennent en compte ces zones de texte. Dans le cas d’un export HTML, rappelez simplement que les ancrages doivent être basés sur le mode Embedded, et non sur le mode Page!
Conclusion
Cette nouvelle fonctionnalité est une avancée significative de 4D Write Pro. Elle permet la création de documents plus élaborés tout en restant très simple d’utilisation.