多亏了 FireFox 对 ActiveX 组件的错误实现(打印时它确实应该拍摄它们的图像) Flex 组件(在我们的案例中是图表)不会在 FX 中打印。
它们在 IE7 甚至 IE6 中打印良好。
我们需要这些图表来打印,但它们也有动态内容。我真的不想在用户打印时再次将它们绘制为图像 - Flex 组件应该这样做。
我们找到了一种潜在的解决方法,但不幸的是它在 FireFox3 中不起作用(在 FireFox2 中它有点起作用,但还不够好)。
有人知道解决方法吗?
多亏了 FireFox 对 ActiveX 组件的错误实现(打印时它确实应该拍摄它们的图像) Flex 组件(在我们的案例中是图表)不会在 FX 中打印。
它们在 IE7 甚至 IE6 中打印良好。
我们需要这些图表来打印,但它们也有动态内容。我真的不想在用户打印时再次将它们绘制为图像 - Flex 组件应该这样做。
我们找到了一种潜在的解决方法,但不幸的是它在 FireFox3 中不起作用(在 FireFox2 中它有点起作用,但还不够好)。
有人知道解决方法吗?
使用 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);
}
谢谢。添加到我们的自定义图表代码中的 -s 负载callLater
似乎已经完成了。