Pergunta

Graças à implementação problemática de componentes ActiveX do FireFox (ele realmente deveria tirar uma imagem deles durante a impressão), os componentes Flex (em nossos gráficos de caso) não imprimem em FX.

Eles imprimem bem no IE7, até mesmo no IE6.

Precisamos desses gráficos para imprimir, mas eles também possuem conteúdo dinâmico.Eu realmente não quero desenhá-los novamente como imagens quando o usuário imprimir - o componente Flex deve fazer isso.

Encontramos um solução alternativa potencial, mas infelizmente não funciona no FireFox3 (no FireFox2 funciona, mas não o suficiente).

Alguém conhece uma solução alternativa?

Foi útil?

Solução

Usando o ACPrintManager consegui fazer com que o Firefox 3 imprimisse perfeitamente!

A única coisa que tive que adicionar ao exemplo foi verificar se o estágio era nulo e chamarLater se o estágio fosse 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);
}

Outras dicas

Obrigado.Uma carga de callLater-s adicionado ao nosso código de gráfico personalizado parece ter resolvido isso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top