2013-05-29 7 views
1

Pour certaines raisons, j'ai besoin d'exporter des données RTF (pas d'images, texte seulement) à partir d'une application iOS pour pouvoir les lire dans Word ou n'importe quel traitement de texte. Pour l'instant, cette exportation crée un fichier RTF qui peut être lu dans TextEdit ou Word (MacOS & Windows), affichant la couleur d'arrière-plan du texte d'origine. Les deux peuvent lire et afficher correctement le texte tel qu'il était affiché sur l'iPhone UIWebView.couleur de fond de texte dans RTF

Mais malheureusement, lorsque j'essaie de lire ce RTF en entrée de mon application iPhone (et en un coup d'oeil fourni par iOS dans l'application de messagerie), la couleur du texte est OK mais la couleur d'arrière-plan ne s'affiche pas. Lorsque j'analyse le HTML créé par UIWebView après avoir importé ces données RTF exportées, je constate qu'aucune information sur la couleur d'arrière-plan du texte n'a été conservée par la fonction d'importation d'iOS (c'est logique car la même couleur d'arrière-plan n'est pas affichée). fonction "rapide" dans l'application de messagerie iOS). Après des heures passées à analyser la version Word RTF d'un document, je n'ai pas trouvé le bon moyen de coder mon RTF pour la compatibilité des couleurs d'arrière-plan. La spécification RTF parle de \ cbN pour mettre la couleur de fond à la Nième couleur de la table de couleurs. Comme Word n'implémente pas ce contrôle \ cbN, j'ai implémenté le contrôle \ chcfpat0 \ chcbpatN \ cbN pour rester compatible avec MacOS TextEdit et Word (toute plate-forme). Et il fonctionne. Mais l'outil d'importation RTF dans iOS ne reconnaît ni les mots-clés \ chcfpat0 \ chcbpatN ni \ cbN.

Est-ce que quelqu'un a une idée magique pour faire face à ce problème stupide?

Merci

+0

avez-vous essayé "\ highlightN" où N est la valeur de couleur? – amalgamate

+0

Merci pour votre message. J'ai essayé, et ça n'a pas de résultat aussi. – Denis

Répondre

0

J'utilise toujours WordPad en essayant de créer des documents simples au format RTF. La plupart du temps, j'essaie d'afficher du texte formaté dans une application WinForms et j'ai besoin de quelque chose que le contrôle RichTextBox peut gérer étant affecté à son paramètre Rtf. WordPad appelle la couleur d'arrière-plan la «couleur de surbrillance du texte».

Je viens de l'utiliser pour afficher du texte enrichi dans un contrôle RichTextBox avec une couleur de fond noire. J'ai mis la couleur du texte en surbrillance en noir, et la couleur du texte en blanc, dans WordPad, enregistré le document, ouvert le document dans le Bloc-notes, copié le texte RTF brut à partir de là et affecté à la propriété RtfRichTextBox contrôle, et ça a bien fonctionné.

Espérons que cette technique fonctionnera dans votre situation.