由于 FireFox 对 ActiveX 组件的错误实现(在打印时确实应该拍摄它们的图像),Flex 组件(在我们的案例图表中)不会在 FX 中打印。
它们在 IE7,甚至 IE6 中打印得很好。
我们需要打印这些图表,但它们也有动态内容。我真的不想在用户打印时将它们再次绘制为图像 - Flex 组件应该这样做。
我们找到了一个 potential workaround ,但不幸的是它在 FireFox3 中不起作用(在 FireFox2 中它有点工作,但还不够好)。
有人知道解决方法吗?
最佳答案
使用 ACPrintManager 我能够让 firefox 3 完美打印!
我必须添加到示例中的一件事是检查 stage 是否为 null,如果 stage 为 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);
}
关于apache-flex - FireFox3 中如何打印Flex 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256/