2008-08-12 10 views
5

Gracias a la implementación defectuosa de Firefox de componentes ActiveX (realmente debería tomar una imagen de ellos al imprimir) Los componentes Flex (en nuestros cuadros de casos) no se imprimen en FX.¿Cómo se imprimen los componentes Flex en FireFox3?

Imprimen bien en IE7, incluso IE6.

Necesitamos estos cuadros para imprimir, pero también tienen contenido dinámico. Realmente no quiero volver a dibujarlos como imágenes cuando el usuario imprime; el componente Flex debería hacerlo.

Hemos encontrado un potential workaround, pero desafortunadamente no funciona en FireFox3 (en FireFox2 funciona, pero no lo suficiente).

¿Alguien sabe una solución?

Respuesta

3

Utilizando ACPrintManager logré que Firefox 3 se imprimiera perfectamente.

Lo único que tuve que agregar al ejemplo fue comprobar si stage era nulo, y callLater si el escenario era nulo.

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); 
} 
0

Gracias. Una carga de callLater -s agregada a nuestro código de gráfico personalizado parece haberlo hecho.

Cuestiones relacionadas