如何在FireFox3中打印Flex组件?

Kei*_*ith 5 apache-flex firefox actionscript-3

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

它们在IE7中打印得很好,甚至是IE6.

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

我们已经找到了一个潜在的解决方法,但不幸的是它在FireFox3中不起作用(在FireFox2中它有点可行,但还不够好).

有人知道解决方法吗?

Mat*_*ean 3

使用 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);
}
Run Code Online (Sandbox Code Playgroud)