Site:  Cours VB.net  
2.40 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} .}"

 
Voici les principaux attributs :

\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 un texte en couleurs, utiliser plusieurs polices :

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 .}"