Я даю пользователям возможность загружать изображение в мое приложение Air, а затем отображать это изображение в элементе управления изображением.Но мне нужно разрешить загрузку PDF таким же образом, поэтому мне нужно конвертировать PDF в изображение.Я забочусь только о первой странице PDF, который они загружают на данный момент.
То, что я делаю, это: 1) Пользователь просматривает файл с контрольным элементом файла 2) Пользователь выбирает изображение или PDF для загрузки 3) Я кодирую указанное изображение в base64 и сохраняю его 4) Затемзагрузить из этого base64 что-то вроде:
public function decodeImage(b64String:String):void{
var decoder:Base64Decoder = new Base64Decoder();
decoder.decode(b64String);
var imgLoader:Loader = new Loader();
imgLoader.loadBytes(decoder.toByteArray());
imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,decodedImageLoaded);
}
private function decodedImageLoaded(event:Event):void{
var imgLoader:Loader = (event.target as LoaderInfo).loader;
var bmp:Bitmap = Bitmap(imgLoader.content);
imgLoader.removeEventListener(Event.COMPLETE, decodedImageLoaded);
var img:Image = new Image();
img.source = bmp;
this.addChild(img);
}
Этот метод отлично работает для .gif, .jpg и .png.В какой-то момент в моем процессе, вероятно, при начальной загрузке мне нужно преобразовать первую страницу PDF в png, чтобы я мог использовать оставшуюся часть этого процесса.
Я приветствую любые идеи с единственным требованием, чтобы оно было частью приложения Air, я не могу использовать что-то вроде ImageMagick, работающее на сервере, но я мог бы использовать компонент, который я могускомпилировать в готовый продукт.