Как распечатать Flex компоненты в FireFox3? - PullRequest
5 голосов
/ 13 августа 2008

Благодаря ошибочной реализации компонентов ActiveX в FireFox (при печати на самом деле нужно их снимать) компоненты Flex (в нашем случае диаграммы) не печатаются в FX.

Они хорошо печатаются в IE7, даже в IE6.

Нам нужны эти графики для печати, но они также имеют динамический контент. Я действительно не хочу рисовать их снова как изображения, когда пользователь печатает - это должен делать компонент Flex.

Мы нашли потенциальный обходной путь , но, к сожалению, он не работает в FireFox3 (в FireFox2 это вроде работает, но недостаточно хорошо).

Кто-нибудь знает обходной путь?

Ответы [ 2 ]

3 голосов
/ 19 августа 2008

С помощью ACPrintManager я смог заставить Firefox 3 печатать идеально!

Единственное, что мне нужно было добавить в пример, это проверить, равен ли stage переменной null, и callLater, если stage был равен нулю.

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);
}
0 голосов
/ 26 августа 2008

Спасибо. Загрузка callLater -s, добавленная в наш пользовательский код диаграммы, похоже, сделала это.

...