Как печатать компоненты Flex в FireFox3?
-
08-06-2019 - |
Вопрос
Из-за глючной реализации компонентов 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, добавленный в наш пользовательский код диаграммы, похоже, сделал это.