5

多亏了 FireFox 对 ActiveX 组件的错误实现(打印时它确实应该拍摄它们的图像) Flex 组件(在我们的案例中是图表)不会在 FX 中打印。

它们在 IE7 甚至 IE6 中打印良好。

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

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

有人知道解决方法吗?

4

2 回答 2

3

使用 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);
}
于 2008-08-19T15:09:16.437 回答
0

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

于 2008-08-26T12:51:31.637 回答