Вопрос

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

Они отлично печатают в IE7, даже в IE6.

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

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

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

Это было полезно?

Решение

Используя ACPrintManager, я смог заставить firefox 3 печатать идеально!

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top