FireFox3 で Flex コンポーネントを印刷するにはどうすればよいですか?
-
08-06-2019 - |
質問
FireFox の ActiveX コンポーネントのバグのある実装 (実際には印刷時にそれらのイメージを取得する必要があります) のおかげで、Flex コンポーネント (この場合はチャート) は FX で印刷されません。
IE7でもIE6でも正常に印刷されます。
これらのグラフを印刷する必要がありますが、動的コンテンツも含まれています。ユーザーが印刷するときにそれらを画像として再度描画することは実際にはしたくありません。Flex コンポーネントがそれを行う必要があります。
を見つけました。 潜在的な回避策, 、しかし残念ながら、FireFox3 では動作しません (FireFox2 ではある程度動作しますが、十分ではありません)。
回避策を知っている人はいますか?
解決
ACPrintManager を使用すると、Firefox 3 で完璧に印刷することができました。
この例に追加する必要があったのは、ステージが null かどうかを確認し、ステージが null の場合は callLater を実行することです。
private function initPrint():void {
//if we don't have a stage, wait until the next frame and try again
if ( stage == null ) {
callLater(initPrint);
return;
}
PrintManager.init(stage);
var data:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight);
data.draw(myDataGrid);
PrintManager.setPrintableContent(data);
}
他のヒント
ありがとう。たっぷりの callLater
カスタムチャートコードに -s を追加すると、それが行われたようです。
所属していません StackOverflow