我讓用戶能夠將圖像上傳到我的Air應用程序,然後在圖像控件中顯示此圖像。但我需要以相同的方式允許PDF上傳,所以我需要將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之類的東西,但我可以使用我可以編譯的組件到成品。
我在AlivePDF中看不到任何內容可以讀取/轉換,PurePDF似乎可能有內容。將不得不回顧一下。 – invertedSpear 2010-07-28 15:26:54
根據http://alivepdf.bytearray.org/?p=348,可以導入現有PDF的PDFi正在成爲AlivePDF的一部分。然而,沒有人注意到這實際上已經發生,並且已經接近2年了。 – adamcodes 2010-07-28 16:06:15