如何在FireFox3中打印Flex组件?
时间:2020-03-05 18:39:16 来源:igfitidea点击:
得益于FireFox对ActiveX组件的错误实施(在打印时确实应该对它们进行图像处理),Flex组件(在我们的情况下为图表)不能在FX中打印。
它们在IE7甚至IE6中都能正常打印。
我们需要打印这些图表,但它们也具有动态内容。当用户打印Flex组件时,我真的不想再次绘制它们作为图像。
我们发现了一种可能的解决方法,但不幸的是,它在FireFox3中不起作用(在FireFox2中,它可以工作,但还不够好)。
有人知道解决方法吗?
解决方案
回答
使用ACPrintManager,我可以使firefox 3完美打印!
我必须添加到示例中的一件事是检查stage是否为空,如果该stage为空,则调用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
-负载似乎已经完成了。