0

FLASH CS5.5を使用してAndroidおよびIOS用のアプリケーションを作成しています

ボタンをクリックしたときにpdfファイルを開きたい。このコードを使用しようとしましたが、機能しません

package
{
            import flash.html.HTMLLoader;
            import flash.net.URLRequest;
            import flash.display.NativeWindowInitOptions;
            import flash.display.NativeWindowSystemChrome;
            import flash.display.NativeWindowType;
            import flash.display.NativeWindow;
            import flash.events.Event;

            import flash.display.SimpleButton;


            public class bpdf extends SimpleButton
            {

                        public function bpdf()
                        {
                                    // constructor code
                                    var htm:HTMLLoader= new HTMLLoader();
                                    htm.load(new URLRequest("test.pdf"));
                                    var init:NativeWindowInitOptions= new NativeWindowInitOptions();
                                    init.systemChrome = NativeWindowSystemChrome.STANDARD;
                                    init.type = NativeWindowType.NORMAL;
                                    var win:NativeWindow = new NativeWindow(init);
                                    win.stage.addChild(htm);
                                    win.width = stage.stageWidth;
                                    win.height = stage.stageHeight;


                                    win.activate();
                                    htm.width = win.width;
                                    htm.height = win.height;
                                    win.addEventListener(Event.CLOSE, onCloseEvent);
                        }

                        function onCloseEvent(e:Event)
                        {

                                    trace("window closed");

                        }
            }
}

「PLYER: AIR FOR ANDROID」で公開した後、出力にこれらのエラー メッセージが表示されました。

[SWF] link2.swf - 2907 bytes after decompression
TypeError: Error #1009: Cannot access a property or method of a null object reference.
            at bpdf()[C:\Users\HP\Desktop\PDF Link\Link_2\bpdf.as:30]
            at flash.display::Sprite/constructChildren()
            at flash.display::Sprite()
            at flash.display::MovieClip()
            at runtime::ContentPlayer/loadInitialContent()
            at runtime::ContentPlayer/playRawContent()
            at runtime::ContentPlayer/playContent()
            at runtime::AppRunner/run()
            at ADLAppEntry/run()
            at global/runtime::ADLEntry()

また、ファイルを APK に変換して Android デバイスにチェックインしましたが、ボタンをクリックしても同じ問題が発生し、何も起こりませんでした。

インクルードpdfなしとインクルードpdfを使用してAPKファイルを作成します

この方法で私の pdf ファイルをインクルード:: パブリッシュ設定 > PLAYER: AIR FOR ANDROID – 設定 > インクルード ファイル: test.pdf

4

1 に答える 1

0

これで試してください

PDF を開く場合は、HTMLLoader クラスの代わりに StageWebView を使用します。このような

protected function loadPDF(event:MouseEvent):void { 

var file:String = "Lorem_Ipsum.pdf";  

var yOffset:Number = 40;  

var stageWebView:StageWebView = new StageWebView(); 

stageWebView.stage = stage;  
stageWebView.viewPort = new Rectangle(0, yOffset, 500, 500 - yOffset); 

 var pdf:File = File.applicationStorageDirectory.resolvePath(file);  

stageWebView.loadURL(pdf.nativePath);
}

出典:詳細

スタック オーバーフロー display-local-pdfも参照してください

于 2012-12-27T12:01:53.453 に答える