如何在FireFox3中打印Flex组件?
-
08-06-2019 - |
题
由于 FireFox 对 ActiveX 组件的错误实现(它确实应该在打印时拍摄它们的图像),Flex 组件(在我们的案例图表中)无法在 FX 中打印。
它们在 IE7 甚至 IE6 中打印得很好。
我们需要打印这些图表,但它们也有动态内容。我真的不想在用户打印时再次将它们绘制为图像 - Flex 组件应该这样做。
我们找到了一个 潜在的解决方法, ,但不幸的是它在 FireFox3 中不起作用(在 FireFox2 中它可以工作,但不够好)。
有人知道解决方法吗?
解决方案
使用 ACPrintManager 我能够让 firefox 3 完美打印!
我必须添加到示例中的一件事是检查 stage 是否为 null,以及 callLater 如果 stage 为 null。
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