2011-01-05 99 views
1

我是Flex/Air應用程序的開發人員,我們正在使用Flex RTE(RichTextEditor)來讓用戶管理他的筆記。目前我正試圖評估使用TLF(文本佈局框架)構建新文本組件的成本。將Flex Flex RTE HtmlText導入到TLF TextFlow

如果我們可以直接導入由RTE生成的HTML文本,真正重要的是這個問題。我知道使用TLF 1.1的列表有一些限制,但它一般工作嗎?

我剛纔想從RTE抓住一些HTML格式的文本,如:

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> 

包裹文本,但同樣的問題。所以它似乎沒有馬上工作。你有什麼經驗?這對我們來說非常重要。

更新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 2011-01-05 12:31:46

+0

嗨,請參閱更新1 ..謝謝 – dasnervtdoch 2011-01-05 13:15:09

回答

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」代碼看起來格式更像TLF格式的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> 
相關問題