С давних времен у Flash-а и Firefox-а существует множество проблем.
Одна из них заключается в том, что Flash контент не печатается в Firefox.
Мы давным давно нашли workaround и выложили его фришной либой.
Прошло три года, а баг все еще существует и фикс все еще актуален.
Итак, представляю вам flash-print-fix. Небольшую библиотеку, которая позволяет добиться нормальной печати Flash содержимого в Firefox:
code.google.com/p/flash-print-fix
Вот так печатается Flex приложение в Firefox без танцев с бубном:
А вот так при использовании flash-print-fix:
Принцип очень простой:
1. Получаем скриншот с swf-ки в png
2. Кодируем png в base64 string
3. Добавляем в страницу картинку с src=«data:img/png;base64,...»
4. Прописываем css-ом скрытие Flash при печати и отображение картинки:
Все! Про головную боль при печати можно забыть.
UPD:
Лицензия библиотеки изменена с LGPL на MIT
Одна из них заключается в том, что Flash контент не печатается в Firefox.
Мы давным давно нашли workaround и выложили его фришной либой.
Прошло три года, а баг все еще существует и фикс все еще актуален.
Итак, представляю вам flash-print-fix. Небольшую библиотеку, которая позволяет добиться нормальной печати Flash содержимого в Firefox:
code.google.com/p/flash-print-fix
Проблема
Вот так печатается Flex приложение в Firefox без танцев с бубном:
А вот так при использовании flash-print-fix:
Как это работает
Принцип очень простой:
1. Получаем скриншот с swf-ки в png
2. Кодируем png в base64 string
3. Добавляем в страницу картинку с src=«data:img/png;base64,...»
4. Прописываем css-ом скрытие Flash при печати и отображение картинки:
@media screen
.flashScreenshot { display: none; }
@media print
.printableFlashObj { display: none; };
.flashScreenshot { display: block; border: 0; outline: none; }
Как использовать flash-print-fix
- Качаем flash-print-fix: code.google.com/p/flash-print-fix
- Добавляем swc к flex проекту
- Правим html код и добавляем в него js:
<script type="text/javascript" src="FlashPrintFix.js"></script>
- Добавляем в flex проект инициализацию картинки, когда содержимое готово:
FlashPrintFix.initializeApp();
Все! Про головную боль при печати можно забыть.
UPD:
Лицензия библиотеки изменена с LGPL на MIT