DIAPASON 05

Interpréter un champ avec un code HTML dans un document Crystal


Il est possible de piloter dans Diapason une mise en forme avancée (attributs, police…) de tout ou partie du contenu d’un champ grâce aux balises HTML.

Les balises sont délimitées par les caractères <Code> Code définissant le rôle de la balise.

La chaîne de caractère à formater doit être délimitée par une balise ouvrante (par exemple <b> pour gras (bold)) et d’une balise de fin </Code> comme par exemple </b>

Quelles sont les balises HTML prises en charge ?

  • html

  • body

  • div (applique un saut de paragraphe)

  • tr (applique uniquement un saut de paragraphe, ne conserve pas la structure de colonnes d'une table)

  • span

  • font

  • p (applique un saut de paragraphe)

  • br (applique un saut de paragraphe)

  • h1 (applique un saut de paragraphe, met la police en gras et double la taille par défaut)

  • h2 (applique un saut de paragraphe, met la police en gras et multiplie la taille par défaut par 1,5)

  • h3 (applique un saut de paragraphe, met la police en gras et multiplie la taille par défaut par 9/8)

  • h4 (applique un saut de paragraphe, met la police en gras)

  • h5 (applique un saut de paragraphe, met la police en gras et multiplie la taille par défaut par 5/6)

  • h6 (applique un saut de paragraphe, met la police en gras et multiplie la taille par défaut par 5/8)

  • center

  • big (augmente la taille de la police de 2 points)

  • small (réduit la taille de la police de 2 si elle est au moins égale à 8)

  • b

  • i

  • s

  • strike

  • u


Les attributs suivants sont pris en charge :

  • align

  • face

  • size

  • color

  • style

  • font-family

  • font-size

  • font-style

  • font-weight

Les attributs de mise en forme des caractères sont valables pour toute la chaîne de caractère située après la balise ouvrante et tant que la balise fermante correspondante n’est pas trouvée.

Les balises peuvent être combinées : <b><i>Chaîne de caractères</i></b> sera interprété par Chaîne de caractères (gras et italique).

Comment traduire le contenu du champs ?

Chaque champ de désignation est paramétré comme suit :

  • Format par défaut souhaité (si absence de balises html)

  • Le paragraphe doit utiliser l’interprétation HTML

image-20260427-132702.png
  • Avec l’interprétation HTML, les codes Chr() ne sont pas interprétés mais sont remplacés par un espace.

  • L’alignement standard de Crystal (gauche, droite, centré …) ne fonctionne pas, utiliser la balise align avec la syntaxe suivante : <P align=’’right’’>Paragraphe aligné à droite</P> 

 

Gestion des tabulations :

La notion de tabulation en tant que telle n’existe pas dans la codification HTML. Les tabulations sont en général pilotées par des instructions CSS non disponibles pour Crystal.

Les tabulations codifiées <dd> pourraient simplement être remplacées par un espacement fixe indépendant de la police ou de la taille des caractères grâce à la formule suivante à appliquer sur le champ à afficher : Replace(TrimLeft ({ChampDiapason}),'<dd>','<font face = "arial" size = 1 color = white>'& ReplicateString ('-', 10) & '</font>')

On génère un nombre de caractères fixes avec une police forcée.


 Exemple de formatage

Contenu du champ : <font face = 'Freestyle Script' color = 'blue' size = +5>Remise de 10% sur tout le catalogue !</font>

Et le résultat :

image-20260427-134232.png