2010-10-08 3 views
2

Возможно ли захватить богатый текст при вставке в Flash? Используя Flex TextEditArea, я могу вставить богатый отформатированный текст внутри самого Flash, но если я попытаюсь вставить его из внешнего источника (например, веб-страницы, слова microsoft и т. Д.), Он будет представлен как обычный текст. То же самое для обратного: если я копирую богатый текст из Flash и вставляю его во внешний источник, он выходит как обычный текст.Вставить богатый текст во Flash?

+0

copypasta +1 :) – dstarh

ответ

0

взгляните на TinyMCE или какой-либо другой редактор, у них есть варианты вставки текстового текста, возможно, вы сможете посмотреть, как их разбор и его эмулировать. Если вы можете ориентировать Flex4 Flash Player 10 вы можете посмотреть на http://labs.adobe.com/technologies/textlayout/, которые могли бы помочь вам в this post на Adobes форумах говорится

+0

TinyMCE предназначен для Javascript, он использует встроенную способность браузера обрабатывать HTML, я не думаю, что это мне поможет. Я фактически использую Flex 4 и текстовый редактор на основе TLF, поэтому я посмотрю на эти ссылки, спасибо. – davr

+0

Первая ссылка - это общая информация о TLF, вторая ссылка рассказывает о flash 9/flex 3 и говорит, что в этом случае это невозможно. Но я использую flash 10/flex 4, поэтому пытаюсь понять, как это сделать. – davr

+0

Я знаю, что TinyMCE предназначен для javascript, но я думал, что tinyMCE анализирует текст, который исходит от слова и форматирует его, чтобы избавиться от любого слова гадости. – dstarh

3

Я часть пути там, до сих пор я получил это:

<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(); 
    } 
} 

Он получает некоторое форматирование в Но теперь есть проблема с размером шрифта. - все, что не размер шрифта по умолчанию, крайне мала. Обычный шрифт остается нормальным. Большие шрифты становятся крошечными шрифтами. Малые шрифты становятся точками с 1 пикселем.

+0

кажется, что вы должны иметь возможность перебирать все элементы текстового потока и обеспечивать размер шрифта в определенных пределах. – JTtheGeek