将图像从Microsoft Office粘贴到AIR应用程序?

时间:2012-03-14 09:22:56

标签: actionscript-3 flex air adobe flash-builder

我遇到的情况是我需要接受从Word(.doc / .docx)文档复制的图像到AIR应用程序上的火花图像。我尝试了一个内嵌图像的示例文档。当我在Mac上的Pages上打开它时,复制的图像通过以下代码完美地粘贴到spark图像对象上:

var clipboardImage:Bitmap = new Bitmap(Clipboard.generalClipboard.getData(ClipboardFormats.BITMAP_FORMAT) as BitmapData);
clipboardImage.width = fldPicture.width;
clipboardImage.height = fldPicture.height;
fldPicture.source = clipboardImage;

fldPicture是火花图像。这可能没问题但是当我将AIR应用程序和相同的Word文档发送给运行Windows且拥有Microsoft Office 2010的朋友时,它无法正常工作。它似乎只有将Word文档中复制的图像粘贴到MS Paint然后再次复制,但这次才能从MS Paint中复制。

对不起,如果这看起来相当令人困惑,我尽可能多地解释它。如果有人能够对这个问题有所了解,那将非常感激。

1 个答案:

答案 0 :(得分:1)

嗯,我担心它与Word处理文件格式的方式有关。 Word使用了很多标题,内部代码/标签仅用于识别对象,文本格式,图像... 而且我认为来自Word的剪贴板的内容必须在它可以被使用之前从某种类型的标题中删除,这是Paint自动执行的操作(可以解释为什么它在你的应用程序粘贴之前获取Paint时的工作原理)。 也许您可以尝试将粘贴的数据放入一个字节数组中,并尝试在将其转换为位图之前手动删除标题?...