如何在FireFox3中打印Flex组件?

时间:2008-08-12 21:27:40

标签: flex actionscript-3 firefox

感谢FireFox对ActiveX组件的错误实现(打印时真的应该拍摄它们的图像)Flex组件(在我们的例子图表中)不能在FX中打印。

他们在IE7中打印得很好,甚至是IE6。

我们需要打印这些图表,但它们也有动态内容。当用户打印时,我真的不想再将它们作为图像绘制 - Flex组件应该这样做。

我们发现了一个potential workaround,但不幸的是它在FireFox3中不起作用(在FireFox2中它可以运行,但还不够好。)

任何人都知道解决方法吗?

2 个答案:

答案 0 :(得分:3)

使用ACPrintManager我能够让firefox 3完美打印!

我必须添加到示例中的一件事是检查stage是否为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);
}

答案 1 :(得分:0)

感谢。添加到我们的自定义图表代码中的callLater - s加载似乎已经完成了。