Frage

Dank der fehlerhaften Implementierung von ActiveX-Komponenten durch FireFox (es sollte beim Drucken eigentlich ein Bild davon erstellt werden) werden Flex-Komponenten (in unserem Fall Diagramme) nicht in FX gedruckt.

Sie drucken einwandfrei im IE7, sogar im IE6.

Wir benötigen diese Diagramme zum Drucken, sie enthalten jedoch auch dynamische Inhalte.Ich möchte sie nicht wirklich noch einmal als Bilder zeichnen, wenn der Benutzer sie druckt – die Flex-Komponente sollte das tun.

Wir haben ein gefunden mögliche Problemumgehung, aber leider funktioniert es nicht in FireFox3 (in FireFox2 funktioniert es irgendwie, aber nicht gut genug).

Kennt jemand einen Workaround?

War es hilfreich?

Lösung

Mit dem ACPrintManager konnte ich Firefox 3 perfekt zum Drucken bringen!

Das Einzige, was ich dem Beispiel hinzufügen musste, war zu prüfen, ob die Stufe null war, und callLater, wenn die Stufe null war.

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

Andere Tipps

Danke.Eine Ladung von callLaterDas Hinzufügen von -s zu unserem benutzerdefinierten Diagrammcode scheint es geschafft zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top