包 | flashx.textLayout.conversion |
类 | public class TextConverter |
继承 | TextConverter Object |
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
未预定义已转换数据的格式,用户写入的转换器可以接受和返回其选择的任何格式。常用格式为字符串、XML 和 ByteArray 实例。转换器作者应该记录哪些格式受支持。
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
numFormats : int [静态] [只读] 格式数量。 | TextConverter |
方法 | 由以下参数定义 | ||
---|---|---|---|
[静态]
为导入/导出注册新格式。 | TextConverter | ||
addFormatAt(index:int, format:String, importerClass:Class, exporterClass:Class = null, clipboardFormat:String = null):void [静态]
在指定位置为导入/导出注册新格式。 | TextConverter | ||
[静态]
将 TextFlow 导出为指定格式。 | TextConverter | ||
[静态]
创建并返回导出转换器,可使用该转换器从 TextFlow 导出到源字符串或 XML 对象。 | TextConverter | ||
[静态] 返回第 index 个格式的格式名称。 | TextConverter | ||
[静态] 返回第 index 个格式的 FormatDescriptor。 | TextConverter | ||
[静态]
创建并返回导入转换器,您之后可以使用该转换器从源字符串、XML 对象或任何用户定义的数据格式导入到 TextFlow。 | TextConverter | ||
表示对象是否已经定义了指定的属性。 | Object | ||
importToFlow(source:Object, format:String, config:IConfiguration = null):flashx.textLayout.elements:TextFlow [静态]
基于指定格式的源内容创建 TextFlow。 | TextConverter | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
[静态]
删除格式。 | TextConverter | ||
[静态]
删除在索引位置的格式。 | TextConverter | ||
设置循环操作动态属性的可用性。 | Object | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
返回指定对象的原始值。 | Object |
常量 | 由以下参数定义 | ||
---|---|---|---|
PLAIN_TEXT_FORMAT : String = "plainTextFormat" [静态]
纯文本格式。 | TextConverter | ||
TEXT_FIELD_HTML_FORMAT : String = "textFieldHTMLFormat" [静态]
HTML 格式。 | TextConverter | ||
TEXT_LAYOUT_FORMAT : String = "textLayoutFormat" [静态]
TextLayout 格式。 | TextConverter |
numFormats | 属性 |
addFormat | () | 方法 |
public static function addFormat(format:String, importerClass:Class, exporterClass:Class, clipboardFormat:String):void
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
为导入/导出注册新格式。新格式将添加在末尾,作为最低优先级。对于使用的格式具有多个选择(例如从外部剪贴板导入时)的客户端来说,位置十分重要。新的格式可能支持导入和/或导出。如果已添加此格式,则会在多个位置中存在。会使用首先找到的格式。
参数
format:String — 要注册的导入转换器类或为 null
| |
importerClass:Class — 要注册的导出转换器类或为 null
| |
exporterClass:Class — 标记转换器类的格式字符串。格式可以为任何名称,但必须是唯一的。
| |
clipboardFormat:String — 转换到剪贴板/从剪贴板转换时用作剪贴板格式的字符串。如果格式不支持剪贴板访问,则使其为 null。
|
addFormatAt | () | 方法 |
public static function addFormatAt(index:int, format:String, importerClass:Class, exporterClass:Class = null, clipboardFormat:String = null):void
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
在指定位置为导入/导出注册新格式。对于使用的格式具有多个选择(例如从外部剪贴板导入时)的客户端来说,位置十分重要。较小的数字表明较高的优先级,会首先尝试这些转换器。新的格式可能支持导入和/或导出。如果已添加此格式,则会在多个位置中存在。会使用首先找到的格式。
参数
index:int — 要注册的导入转换器类或为 null
| |
format:String — 要注册的导出转换器类或为 null
| |
importerClass:Class — 标记转换器类的格式字符串
| |
exporterClass:Class (default = null ) — 转换到剪贴板/从剪贴板转换时用作剪贴板格式的字符串。如果格式不支持剪贴板访问,则使其为 null。
| |
clipboardFormat:String (default = null )
|
export | () | 方法 |
public static function export(source:flashx.textLayout.elements:TextFlow, format:String, conversionType:String):Object
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
将 TextFlow 导出为指定格式。
使用此类提供的静态常量之一、MIME 类型或针对用户定义导出器的用户定义格式来指定 format
参数:
- TextConverter.TEXT_FIELD_HTML_FORMAT
- TextConverter.PLAIN_TEXT_FORMAT
- TextConverter.TEXT_LAYOUT_FORMAT
在 conversionType
参数中使用 ConversionType 类提供的静态常量之一或针对用户定义导出器的用户定义数据类型,指定所导出数据的类型:
- ConversionType.STRING_TYPE
- ConversionType.XML_TYPE
参数
source:flashx.textLayout.elements:TextFlow — 源内容
| |
format:String — 输出格式
| |
conversionType:String — 所导出数据的类型
|
Object — 对象 - TextFlow 的导出形式,否则错误时为 null
|
相关 API 元素
getExporter | () | 方法 |
public static function getExporter(format:String):flashx.textLayout.conversion:ITextExporter
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
创建并返回导出转换器,可使用该转换器从 TextFlow 导出到源字符串或 XML 对象。如果您要执行很多单独的导出,可以使用此函数。这与调用 flashx.textLayout.conversion.TextConverter.export()
等效。
使用此类提供的静态常量之一来指定 format
参数:
- TextConverter.TEXT_FIELD_HTML_FORMAT
- TextConverter.PLAIN_TEXT_FORMAT
- TextConverter.TEXT_LAYOUT_FORMAT
如果已多次添加格式,则会使用首先找到的格式。
参数
format:String — 所导出数据的目标格式
|
flashx.textLayout.conversion:ITextExporter — 可以按指定格式导出的 ITextExporter 文本导出器
|
相关 API 元素
示例 ( 如何使用本示例 )
此代码段说明使用 getExporter
方法来执行带格式文本的重复导出。
package flashx.textLayout.conversion.examples { import flashx.textLayout.conversion.ConversionType; import flashx.textLayout.conversion.ITextExporter; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow; public class getExporter_example { // Serialize the TextFlow into a String public function export(textFlow:TextFlow):String { var exporter:ITextExporter = TextConverter.getExporter(TextConverter.TEXT_LAYOUT_FORMAT); return exporter.export(textFlow, ConversionType.STRING_TYPE) as String; } } }
getFormatAt | () | 方法 |
getFormatDescriptorAt | () | 方法 |
public static function getFormatDescriptorAt(index:int):FormatDescriptor
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
返回第 index 个格式的 FormatDescriptor。
参数
index:int |
FormatDescriptor |
getImporter | () | 方法 |
public static function getImporter(format:String, config:IConfiguration = null):flashx.textLayout.conversion:ITextImporter
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
创建并返回导入转换器,您之后可以使用该转换器从源字符串、XML 对象或任何用户定义的数据格式导入到 TextFlow。如果您需要执行很多单独的导入,或者希望在导入期间处理错误,可使用此方法。这与调用 flashx.textLayout.conversion.TextConverter.importToFlow()
等效。
使用此类提供的静态常量之一来指定 format
参数,或使用 MIME 类型或用户定义的数据格式来指定。
- TextConverter.TEXT_FIELD_HTML_FORMAT
- TextConverter.PLAIN_TEXT_FORMAT
- TextConverter.TEXT_LAYOUT_FORMAT
如果已多次添加格式,则会使用首先找到的格式。
参数
format:String — 源内容的格式。使用 flashx.textLayout.conversion.TextConverter.TEXT_LAYOUT_FORMAT、PLAIN_TEXT_FORMAT、TEXT_FIELD_HTML_FORMAT 等常量、MIME 类型或用户定义的格式。
| |
config:IConfiguration (default = null ) — 在该导入期间要使用的配置。null 表示采用当前默认值。您也可以通过 ITextImporter.configuration 属性设置配置。
|
flashx.textLayout.conversion:ITextImporter — 可以导入源数据的 ITextImporter 文本导入器
|
相关 API 元素
示例 ( 如何使用本示例 )
此代码段演示使用 getImporter
方法来执行带格式文本的重复导入。请注意,在每次调用 importToFlow
初期会清除错误。
package flashx.textLayout.conversion.examples { import flashx.textLayout.conversion.ITextImporter; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.elements.TextFlow; public class getImporter_example { public function importAndCheckErrors():TextFlow { var markup:String = "<TextFlow xmlns='http://ns.adobe.com/textLayout/2008'><p><span>Hello, World</span></p></TextFlow>"; var importer:ITextImporter = TextConverter.getImporter(TextConverter.TEXT_LAYOUT_FORMAT); importer.throwOnError = false; var textFlow:TextFlow = importer.importToFlow(markup); if (!textFlow) { var errors:Vector.<String> = importer.errors; //deal with import errors } return textFlow; } } }
importToFlow | () | 方法 |
public static function importToFlow(source:Object, format:String, config:IConfiguration = null):flashx.textLayout.elements:TextFlow
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
基于指定格式的源内容创建 TextFlow。
使用此类提供的静态常量之一、MIME 类型来指定 format
参数,或者使用针对用户注册的导入器的用户定义值来指定:
- TextConverter.TEXT_FIELD_HTML_FORMAT
- TextConverter.PLAIN_TEXT_FORMAT
- TextConverter.TEXT_LAYOUT_FORMAT
参数
source:Object — 源内容
| |
format:String — 源内容格式
| |
config:IConfiguration (default = null ) — 创建新的 TextFlow 时要使用的 IConfiguration
|
flashx.textLayout.elements:TextFlow — 从源中创建的 TextFlow,否则错误时为 null。
|
相关 API 元素
removeFormat | () | 方法 |
removeFormatAt | () | 方法 |
PLAIN_TEXT_FORMAT | 常量 |
public static const PLAIN_TEXT_FORMAT:String = "plainTextFormat"
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
纯文本格式。使用此常量,可基于简单无格式的字符串创建 TextFlow,或基于 TextFlow 创建简单无格式的字符串。
TEXT_FIELD_HTML_FORMAT | 常量 |
public static const TEXT_FIELD_HTML_FORMAT:String = "textFieldHTMLFormat"
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
HTML 格式。使用此常量,可用 HTML 格式从 TextFlow 导入或导出到 TextFlow。Text Layout Framework HTML 支持 flash.text
包中的 TextField 类所支持的标记和属性子集。
下表列出了对于导入和导出过程支持的 HTML 标记和属性(TextField 支持但 Text Layout Framework 不支持的标记和属性被专门描述为不支持):
标签 | 说明 |
---|---|
锚标签 |
<a> 标签创建超文本链接并支持以下属性:
|
粗体标签 |
<b> 标签以粗体形式呈现文本。粗体必须可用于所使用的字体。
|
换行标签 |
<br> 标记将在文本中创建一个换行符。
|
字体标签 |
<font> 标签指定一种字体或一个字体列表来显示文本。字体标签支持以下属性:
|
图像标签 |
使用 <img> 标记,可将外部图像文件(JPEG、GIF、PNG)、SWF 文件和影片剪辑嵌入到文本中。
注意:与 TextField 类不同,不支持下列属性: |
斜体标签 |
<i> 标签以斜体形式显示标签中的文本。斜体必须可用于所使用的字体。
|
列表项标签 | 注意:与 TextField 类不同,不支持 List 项标签。 |
段落标签 |
<p> 标签创建一个新段落。<p> 标签支持以下属性:
|
Span 标签 |
<span> 标签支持以下属性:
|
文本格式标签 |
使用
|
下划线标签 |
<u> 标签为标签文本添加下划线。
|
未知标签导入时,textFieldHTMLFormat
导入器会将单个 FlowElement 的 typeName 属性设置为此标签名称,或使用被设置为标签名称的 typeName 属性创建 DivElement 或 SubParagraphGroupElement。
typeName
与默认情况不同时,textFieldHTMLFormat
导出器会将其导出为 XML 标签。
相关 API 元素
TEXT_LAYOUT_FORMAT | 常量 |
public static const TEXT_LAYOUT_FORMAT:String = "textLayoutFormat"
语言版本: | ActionScript 3.0 |
运行时版本: | Flash Player 10, AIR 1.5 |
TextLayout 格式。使用此常量,可用 TextLayout 标记格式从 TextFlow 导入或导出到 TextFlow。文本布局格式将检测下列错误:
- 意外命名空间
- 未知元素
- 未知属性
此示例演示了 TextConverter
转换类的使用。标准标记格式的文本会导入到 TextFlow
对象中,然后显示。该文本然后以 XML 格式导出。
package flashx.textLayout.conversion.examples { import flash.display.Sprite; import flashx.textLayout.container.ContainerController; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.conversion.TextConverter; import flashx.textLayout.conversion.ConversionType; public class TextConverter_example extends Sprite { public function TextConverter_example() { var markup:String = "<TextFlow xmlns='http://ns.adobe.com/textLayout/2008'><p><span>Hello, World</span></p></TextFlow>"; var textFlow:TextFlow = TextConverter.importToFlow(markup, TextConverter.TEXT_LAYOUT_FORMAT); textFlow.flowComposer.addController(new ContainerController(this, 200, 50)); textFlow.flowComposer.updateAllControllers(); //export to XML var xmlOut:XML = TextConverter.export(textFlow,TextConverter.TEXT_LAYOUT_FORMAT, ConversionType.XML_TYPE) as XML; } } }
Tue Jun 12 2018, 11:04 AM Z