Wie drucke ich Flex-Komponenten in FireFox3?
-
08-06-2019 - |
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?
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 callLater
Das Hinzufügen von -s zu unserem benutzerdefinierten Diagrammcode scheint es geschafft zu haben.