2010-10-08 7 views
2

Est-il possible de capturer du texte enrichi lors du collage dans Flash? En utilisant une TextEditArea Flex, je peux coller du texte richement formaté dans Flash lui-même, mais si j'essaie de coller à partir d'une source externe (disons une page web, un mot Microsoft, etc.), il apparaît en texte brut. Idem pour l'inverse: si je copie du texte enrichi à partir de Flash, et que je le colle à une source externe, il sort en texte brut.Coller du texte enrichi dans Flash?

+0

copypasta +1 :) – dstarh

Répondre

0

jetez un oeil à TinyMCE ou à un autre éditeur, ils ont des options pour coller du texte de mot, peut-être pourriez-vous voir comment ils l'analysent et l'émuler. Si vous pouvez cibler un lecteur flash Flex4 10 vous pourriez jeter un oeil à http://labs.adobe.com/technologies/textlayout/ qui pourrait vous aider comme this post sur les forums Adobes États

+0

TinyMCE est pour Javascript, il utilise la capacité intégrée du navigateur pour gérer le HTML, je ne pense pas que cela m'aidera. J'utilise actuellement Flex 4 et un éditeur de texte basé sur TLF, donc je vais regarder ces liens, merci. – davr

+0

Le premier lien est juste une page d'information générique sur TLF, le deuxième lien parle de flash 9/flex 3, et dit que ce n'est pas possible dans ce cas. Mais j'utilise flash 10/flex 4, essayant de comprendre comment le faire. – davr

+0

Je sais que TinyMCE est pour javascript mais ma pensée était que tinyMCE est en train d'analyser le texte qui vient du mot et de le formater pour se débarrasser de toute méchanceté de mot. – dstarh

3

Je fais partie chemin, jusqu'à présent, j'ai ceci:

<s:RichEditableText paste="pasteHandler(event)" width="100%" height="100%"/> 

 

protected function pasteHandler(event:Event):void 
{    
    if(Clipboard.generalClipboard.hasFormat(ClipboardFormats.HTML_FORMAT)) { 
     var txt:RichEditableText = event.target as RichEditableText;      
     var html:String = Clipboard.generalClipboard.getData(ClipboardFormats.HTML_FORMAT) as String; 
     var mgr:EditManager = txt.textFlow.interactionManager as EditManager; 

     mgr.pasteTextScrap(new TextScrap(TextConverter.importToFlow(html, TextConverter.TEXT_FIELD_HTML_FORMAT))); 

     event.stopImmediatePropagation(); 
    } 
} 

Il obtient une mise en forme Mais maintenant, il y a un problème avec la taille de la police -. tout ce qui est pas une taille de police par défaut, est extrêmement petit. La police normale reste normale. Les grandes polices deviennent de minuscules polices. Les petites polices deviennent des points de 1 pixel.

+0

semble que vous devriez être en mesure de faire une boucle sur tous les éléments de flux de texte et de s'assurer que la taille de la police est dans certaines limites. – JTtheGeek

Questions connexes