微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

flex4 操作word文档

对于word,可将word文档模板文件存成xml格式,而此xml文档中的图片是以“base-64 encoded”,而flex4可以将生成图片快照下来再转换成此格式,flex能够操作xml文件,从而可以修改word xml模板文件中的内容,从而与word协作。
将ImageSnapshot对象利用 flex4的encodeImageAsBase64()方法 转换为base-64 encoded格式的例子:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/12/07/converting-an-imagesnapshot-object-into-a-base-64-encoded-string-in-flex-3/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white">

<mx:Script>
<![CDATA[
import flash.events.FocusEvent;
import flash.system.System;
import mx.graphics.ImageSnapshot;

private function button_click(evt:MouseEvent):void {
var ohSnap:ImageSnapshot = ImageSnapshot.captureImage(img);
textArea.text = ImageSnapshot.encodeImageAsBase64(ohSnap);
}

private function textArea_focusIn(evt:FocusEvent):void {
textArea.setSelection(0,textArea.text.length);
}
]]>
</mx:Script>

<mx:ApplicationControlBar dock="true">
<mx:Button label="Capture and encode"
click="button_click(event);" />
</mx:ApplicationControlBar>

<mx:Form>
<mx:FormItem label="source:">
<mx:Image id="img"
source="@Embed('images/flex_logo.jpg')" />
</mx:FormItem>
<mx:FormItem label="Base64:">
<mx:TextArea id="textArea"
editable="false"
showScrollTips="true"
width="320"
height="160"
focusIn="textArea_focusIn(event);" />
</mx:FormItem>
<mx:FormItem>
<mx:Button label="copy to clipboard"
enabled="{textArea.text.length > 0}"
click="System.setClipboard(textArea.text);" />
</mx:FormItem>
</mx:Form>

</mx:Application>
mx.graphics.ImageSnapshot  是一种帮助器类,用于捕获实现了  flash.display.IBitmapDrawable  的任何 Flash 组件(包括 Flex UIComponent)的快照。

将base-64 encoded文本转换为图片可以使用开源的 flexlib.controls.Base64Image 类实现。 这里 是示例。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐