2012-05-01 11 views
0

フラッシュプリントを行うアクションスクリプトを記述できます。
iframeに内容を定義して印刷する方法はありますか?
例:
これは、優れたフラッシュプリントデモスクリプトです。アクションスクリプト - 印刷

print_btn.addEventListener(MouseEvent.CLICK,printContent); 

function printContent(evt:MouseEvent) { 
    var printJob:PrintJob = new PrintJob(); 

    if (printJob.start()) { 

     if (content_mc.width>printJob.pageWidth) { 
      content_mc.width=printJob.pageWidth; 
      content_mc.scaleY=content_mc.scaleX; 
     } 

     printJob.addPage(content_mc); 
     printJob.send(); 
    } 
} 

content_mcは、.flaファイル内で定義されています。アクションスクリプトが現在のWebページを見て、ifame内のコンテンツを印刷するようにしたいと思います。 これはできますか? 私はアクションスクリプティングを習得しているので、例が役に立ちます。 ありがとうございました!

答えて

1

ええ、 "ハック"のカップルで。そこで、FlexのExternalInterfaceを使ってJavaScriptと通信することができます。これは、IFrameをFlex内で直接描画することはできないため(AIRとは別に、すべてのシナリオで1:1に一致することはありません)、その必要があります。 2番目のステップは、javascript関数でwindow.print()を呼び出すことです。あなたのASは次のようになります:

ExternalInterface.call( "doJSPrint");

最近の「ハック」は、IFrameを印刷するためにHTMLページの他の要素に適切に印刷/スクリーンするためにCSSでメディアを設定することです。

関連リンク:

http://www.w3.org/TR/CSS2/media.html

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

http://www.spikything.com/blog/index.php/2009/08/23/externalinterface_howto/

幸運、私はより多くの情報を提供することができると思うなら、私に知らせてください。

+0

ヒントありがとうございますが、フラッシュはプリンタではありませんでした。あなたの情報は私に試してみる他のアイデアを与えてくれました。 – user1368527