¿Cómo imprimir componentes Flex en FireFox3?
-
08-06-2019 - |
Pregunta
Gracias a la implementación defectuosa de los componentes ActiveX de Firefox (realmente debería tomar una imagen de ellos al imprimir), los componentes Flex (en nuestro caso, gráficos) no se imprimen en FX.
Imprimen bien en IE7, incluso en IE6.
Necesitamos estos gráficos para imprimir, pero también tienen contenido dinámico.Realmente no quiero volver a dibujarlos como imágenes cuando el usuario imprima; el componente Flex debería hacerlo.
Hemos encontrado un posible solución, pero desafortunadamente no funciona en FireFox3 (en FireFox2 funciona, pero no lo suficientemente bien).
¿Alguien conoce una solución alternativa?
Solución
¡Usando ACPrintManager pude hacer que Firefox 3 imprimiera perfectamente!
Lo único que tuve que agregar al ejemplo fue verificar si la etapa era nula y llamar a Later si la etapa era nula.
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);
}
Otros consejos
Gracias.Una carga de callLater
-s agregado a nuestro código de gráfico personalizado parece haberlo logrado.