Вставить изображение из Microsoft Office в приложение AIR? - PullRequest
2 голосов
/ 14 марта 2012

Я нахожусь в ситуации, когда мне нужно принять скопированные изображения из документа Word (.doc / .docx) в искровое изображение в приложении AIR. Я попробовал с образцом документа со встроенным изображением. Когда я открываю его на Pages на Mac, скопированное изображение идеально вставляется в объект Spark Image с помощью кода ниже:

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 Ответ

1 голос
/ 28 мая 2012

Ммм, боюсь, это связано с тем, как Word обрабатывает форматы файлов и так далее.Word использует много заголовков, внутренний код / ​​теги используются только для распознавания объектов, текстовых форматов, изображений ... И я полагаю, что содержимое буфера обмена, полученное из Word, должно быть извлечено из этого заголовка какого-либо вида передможет использоваться, то, что автоматически делает Paint (то, что может объяснить, почему это работает, когда вы переходите в Paint перед вставкой в ​​ваше приложение).Может быть, вы могли бы попытаться поместить вставленные данные в байтовый массив и вручную удалить заголовки, прежде чем помещать их в растровое изображение? ...

...