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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top