Cette source contient un Writer RTF permettant d'écrire un fichier/fragment RTF complet. Il permet d'entrer directement du RTF dans un Richtextbox ou dans sa sélection. En fait, la méthode classique de la saisie du texte pour utiliser la sélection à formater est très très lente.
Pour générer du RTF directement :
-> comme pour tout les Writer, vous devez passer un Stream ou un Writer (flux sous jacent) (StringWriter, StreamWriter) au constructeur de la classe pour stocker le RTF généré
-> utiliser les propriétés pour la mise en forme et la méthode WriteString pour le texte
-> appeler la méthode Generate pour finaliser le RTF et l'écrire dans le flux sous jacent
Ce Writer gère :
-> les polices
-> les couleurs de fond/police
-> les tailles de police
-> italique/gras/sousligné/barré/exposant/indice/smallcaps
-> insertion d'image
-> liste à points
-> liste numérotée (ou titre)
-> tableaux (basiques)
De plus, ce code fournit un convertisseur pseudo HTML vers RTF (très basique avec tag fixe, y-compris les <font size="">). Ce convertisseur nécessiterait un filtre si l'on souhaite entrer une page HTML directement.
Pour générer du RTF à partir du pseudo HTML, il suffit de construire un HTML2RTF avec en paramètre le html sous forme de chaine et une police par défaut puis d'appeler la méthode GetOuput pour récupérer un stream contenant le RTF ou GetOutputString pour récupérer le RTF en chaine.