0

私はいつもそのフォーラムで多くの役立つ情報を読んでいます。具体的な支援を求めるのは今回が初めてです。

私は Flash の初心者で、1 週間以上苦労している問題があります。私の問題に対する最も効率的で洗練された方法は、StageWebView-Call を as-File に入れることです。

それが計画です: 私のフラッシュ ファイルで: PDF ドキュメント "xyz" を表示し、それをステージに置きます。

私はすでにSwitch-Caseで試しました-しかし、PDFを取り除くのに問題があります。

それが私の考えでした: まず、新しい as-File...

package  {

import flash.display.MovieClip;
import flash.media.StageWebView;
import flash.geom.Rectangle;
import flash.filesystem.File;
import flash.display.Sprite;
import flash.display.Stage;


    public class mypdf {
            public var MyWebView:StageWebView
            public var file:String
            public var pdf:File


        public function mypdf(ActFile:String) {
                MyWebView = new StageWebView();
                file = ActualFile;                         //MARKING #1
                pdf = File.applicationDirectory.resolvePath(file);

                MyWebView.stage = stage;                   //MARKING #2
                MyWebView.viewPort = new Rectangle (200, 200, 400, 400);            
                MyWebView.loadURL(pdf.nativePath);
        }

    }

}

フラッシュファイルでそれを呼び出したいより...

stop();
var mynewpdf:mypdf = new mypdf("test.pdf");

2 つのエラーが表示されます。

1120: Access of undefined property error ActualFile (at Marking #1)
1120: Access of undefined property error Stage (at Marking #2)

さらに多くの作業を行うことで、各 pdf に対してさまざまな as-Script を定義することで、最初のエラーを回避できました。私の主な問題は、2 番目のエラーです。

誰かが良いアイデアを持っていれば、それは本当に素晴らしいことです。

さようなら、ステファン

4

2 に答える 2

0

StageWebView は nativePath をサポートしていません。これを使用する代わりに、pdf.url を試すことができます。また、StageWebView は、開いている .pdf ファイルもサポートしています。

public function mypdf(ActFile:String) {
            MyWebView = new StageWebView();
            file = ActualFile;                         //MARKING #1
            pdf = File.applicationDirectory.resolvePath(file);

            MyWebView.stage = stage;                   //MARKING #2
            MyWebView.viewPort = new Rectangle (200, 200, 400, 400);    
            addChild( MyWebView );        
            MyWebView.loadURL(pdf.url);
    }

StageWebView は file:/// 形式をサポートしますが、nativePath では C://.. を取得しているため、これが役立ちます。または、単に StageWebView を Display オブジェクトに変換し、addElement() を使用してコンテナに追加します。

あなたはそれを変換することができます、

   var _view:SpriteVisualElement = new SpriteVisualElement();
   _view.addChild( MyWebView);
   this.addElement( view );

テストするには、このメソッドを added_to_stage メソッドで呼び出して、ステージがあるかどうかをテストします。ステージが設定されていない場合にも、このエラーが発生します。

于 2014-05-27T06:37:02.957 に答える
0

2 番目のエラーは、ステージを Web ビューに渡す必要があることを意味します。パラメータとして mypdf クラスに渡すか、mypdf DisplayObject を作成して (たとえば Sprite を拡張)、ステージに追加します。

とにかくこれで問題が解決するかどうかはわかりません.StageWebViewは単にhtmlを表示できると思います. そのための外部プラグインが起動されるため、PDF がブラウザに表示されます。

AIR では状況が異なるようです: http://sujitreddyg.wordpress.com/2008/01/04/rendering-pdf-content-in-adobe-air-application/

于 2014-03-25T15:47:28.413 に答える