2011-01-05 2 views
1

Я работаю разработчиком в приложении Flex/Air, и мы используем багги Flex RTE (RichTextEditor), чтобы пользователь мог управлять своими заметками. На данный момент я пытаюсь оценить, насколько дорого стоить нам создание нового текстового компонента с использованием TLF (Text Layout Framework).Импорт Flex RTE HtmlText в TLF TextFlow

Действительно важным является вопрос, можем ли мы сразу импортировать текст HTML, созданный RTE. Я знаю, что есть некоторые ограничения в отношении списков с TLF 1.1, но работает ли он вообще?

Я просто попытался захватить некоторые HTML форматированный текст с RTE, как:

var htmlText:String = '<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="defaultFont" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">1hr run on Wednesday - feeling ok!</FONT></P></TEXTFORMAT>' 

, когда я передать это TextConverter так:

var textFlow:TextFlow = TextConverter.importToFlow(htmlText, TextConverter.HTML_FORMAT); 

Проигрыватель Flash Player выдает исключение. Я также попытался обернуть текст

<html><body></body></html> 

, но такой же выпуск. Поэтому, похоже, это не работает сразу. Что вы испытываете? Это действительно важно для нас.

UPDATE 1:

Когда я пытаюсь импортировать HTML, как и выше (то же объявление переменной) Я получаю эту ошибку:

TypeError: Error #1009: Cannot access a property or method of a null object reference. 
at flashx.textLayout.formats::TextLayoutFormatValueHolder/apply()[C:\Vellum\branches\v1\1.0\dev\textLayout_core\src\flashx\textLayout\formats\TextLayoutFormatValueHolder.as:357] 
at HtmlImporter$/parseTextFormat()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\HtmlImporter.as:307] 
at BaseTextLayoutImporter/parseObject()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\BaseTextLayoutImporter.as:464] 
at BaseTextLayoutImporter/parseFlowGroupElementChildren()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\BaseTextLayoutImporter.as:419] 
at HtmlImporter$/parseHtmlContainer()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\HtmlImporter.as:269] 
at BaseTextLayoutImporter/parseObject()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\BaseTextLayoutImporter.as:464] 
at HtmlImporter/importFromXML()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\HtmlImporter.as:142] 
at HtmlImporter/importFromString()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\HtmlImporter.as:130] 
at BaseTextLayoutImporter/importToFlow()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\BaseTextLayoutImporter.as:73] 
at flashx.textLayout.conversion::TextConverter$/importToFlow()[C:\Vellum\branches\v1\1.0\dev\textLayout_conversion\src\flashx\textLayout\conversion\TextConverter.as:87] 
at TLFTestApp/init()[/Users/Arne/Documents/Adobe Flash Builder 4/TLFRichTextEditor/src/TLFTestApp.mxml:29] <-- // executing TextConverter.importToFlow(htmlText, TextConverter.HTML_FORMAT); 

Тем временем я удалил теги, и он работает, но вопрос до сих пор остается.

Заранее благодарен!

+0

Какое исключение он выбрасывает? – JeffryHouser

+0

привет, см. Обновление 1 .. спасибо – dasnervtdoch

ответ

0

Посмотрите на http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flashx/textLayout/conversion/TextConverter.html

Есть три константы для формата, ни один из которых, кажется, что вы использовали:

PLAIN_TEXT_FORMAT 
TEXT_FIELD_HTML_FORMAT 
TEXT_LAYOUT_FORMAT 

Кроме того, формат следующий «HTML» код выглядит больше похоже на XML-формат XML, чем HTML.

<TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="defaultFont" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">1hr run on Wednesday - feeling ok!</FONT></P></TEXTFORMAT> 
Смежные вопросы