|
Site |
Cours VB.net |
|
|
|
Annexe: RTF |
|
|
Qu'est ce que RTF?
C'est un format de fichier texte (développé par Microsoft).
Un texte peut être enregistré en brut (en Ascii sans enrichissement en '.txt' par exemple) en RTF ('.Rtf') , dans un format propriétaire: format Word (.doc)…
RTF= Rich Text Format signifie 'Format de Texte Enrichi'
Le RTF est un format de fichier texte assez universel. Il permet de mettre dans un fichier du texte, mais aussi d'indiquer l'enrichissement de ce texte: texte en gras, italique, souligné, en couleur, en Arial... de contenir des images..
Les fichiers Rtf ont l'extension '.Rtf'. Ils sont lisibles dans la plupart des traitements de texte:
Word, Open Office, NotePad.. sous Windows.
TextEdit sous Mac Os X.
Ted, Open Office sous Unix.
C'est un format non compressé.
Le format du texte que l’on peut mettre dans une RichTextBox est le format RTF.
Les bases du codage RTF
Si le contenu d'un fichier Rtf est:
{\rtf
Bonjour monsieur
\par
Ceci est
un {\b texte}.
\par
FIN
}
l'affiche de ce fichier dans Word par exemple montrera:
Bonjour monsieur Ceci est un texte. FIN
Le texte doit débuter par '{' et se terminer par '}'.
Il peut aussi débuter par "{\rtf1\ansi " ou "{\rtf" et se terminer par '}'.
Cela indique que le texte est en rtf et le codage des caractères est en ansi.
Ensuite les enrichissements s’effectuent par des balises.
Une balise commence par le caractère '\' .
Toujours mettre un espace après la balise.
Pour certains enrichissement il y a des balises de début et de fin de l’attribut.
Entre \b et \b0 le texte sera en gras (Bold)
Une portion de texte peut être délimitée par des "{ }".
Exemple :
Comment écrire "Ce texte est en gras." .
"{\rtf1\ansi Ce texte est en \b gras\b0 .}"
Une autre manière de faire est de mettre une balise entre des guillemets:
"{\rtf1\ansi Ce texte est en {\b gras} .}"
\b \b0 ce qui est entre les 2 balises est en gras
\i \i0 ce qui est entre les 2 balises est en italique
\par fin paragraphe (passe à la ligne)
\f font \f1 .. \f0 font numéro 1 entre les 2 balises
\plain ramène les caractères par défaut
\tab caractère de tabulation
\fs taille de caractère \fs28 = taille 28
Mettre un espace après la balise:
Ecrire: \b bonjour \b0 et non \bbonjour \b0
Mettre la table des couleurs en début de texte :
{ \colortbl \red0\green0\blue0;\red255\green0\blue0;\red0\green255\blue0;}
Après Colortbl (Color Table) chaque couleur est codée avec les quantités de rouge vert et bleue.
Les couleurs sont repérées par leur ordre: couleur 0 puis 1 puis 2.. et séparées par un ';'
Dans notre exemple couleur 0=noir; couleur 1=rouge; couleur 2=vert
Pour changer la couleur dans le texte on utilise \cf puis le numéro de la couleur :
« \cf1 toto \cf0 } » ‘toto est affiché en rouge.
Pour modifier les polices de caractère, le procédé est similaire avec une Font Table :
{\fonttbl
{\fo\froman Symbol;}
{\f1\fswiss Arial;}
}
Pour passer en Arial \f1 ..\f0
Exemple complet :
"{\rtf1\ansi
{ \colortbl
\red0\green0\blue0;
\red255\green0\blue0;
\red0\green255\blue0;}
{\fonttbl
{\fo\froman Symbol;}
{\f1\fswiss Arial;}
}
Ce qui suit est en \f1 \cf1 \i Arial Rouge Italique \f0 \cf0 \i0
} »
Cela donne:

Nb : Si vous voulez copier coller l’exemple pour l’essayer, enlever les sauts à la ligne.
Mettre du RTF dans une RichTextBox (en VB):
Ajoute le texte "Ce texte est en gras." à un contrôle RichTextBox existant.
RichTextBox1.Rtf = "{\rtf1\ansi Ce texte est en \b gras\b0 .}"
|
|
|
|
|