0

Flash コンテンツを含む Web ページを印刷することはできますか? おそらくjQueryを使用していますか?

印刷する必要のある SWF オブジェクトを含むページがありますが、Firefox でそれらを印刷する方法が見つかりません。

プラグインを使用することもできますが、ページを印刷できるようにするために訪問者にプラグインの使用を強制したくありません。

4

2 に答える 2

2

泥棒マスターが言ったように。フラッシュを使用しないことがおそらく最善の方法です。

しかし、それでもフラッシュを印刷したい場合。必要なページをスナップショットし、フラッシュの印刷ジョブ機能を使用して印刷できるイメージを表示するサーバー側スクリプト (php) に pingを試みることができます。

  • Loader クラスを使用して、URL スナップショット (php で取得したスナップショット) を表示するページを読み込みます。PHP ページのヘッダーが正しいことを確認してください (ブラウザが画像と認識します)。
  • フラッシュ印刷ジョブを使用して画像を印刷する

それが役立つことを願っています!

于 2012-05-27T16:32:53.640 に答える
1

まあ、これは非常に複雑な方法ですが、うまくいくかもしれません。これを機能させるには、ページ上のすべてのフラッシュファイルを編集できる必要があります。また、これはBase64でエンコードされた画像ソースをサポートするブラウザである必要があります(IEはサポートしていないと思います)。

  • ユーザーがWebページの印刷ボタンを押す
  • カスタムJavascriptは、ExternalInterfaceを使用して、すべてのフラッシュオブジェクトで「getScreenshot」関数を呼び出します。
  • FlashファイルのgetScreenshot関数(作成する)は、ステージと同じ大きさのBitmapDataを作成し、BitmapData.draw(..)メソッドを使用してそれ自体を描画し、Base64でエンコードして返します。
  • Javascriptは、フラッシュオブジェクトを非表示にし、画像要素を一番上に配置して、Base64でエンコードされた文字列を入力します。
  • すべてのフラッシュオブジェクトが画像に置き換えられたので、javascriptを介してドキュメント印刷関数を呼び出します。
  • ユーザーが印刷を終えたら、ウェブページのボタンを押してフラッシュコンテンツを「再開」できます。これにより、動的に作成された画像要素が削除され、フラッシュオブジェクトが再び表示されます。

これはかなりやり過ぎですが、ページとフラッシュオブジェクトを印刷できる人が本当に必要な場合は、これがそれを実現する1つの方法になります。

于 2012-05-28T21:39:14.500 に答える