Существует ли реализация ACPrintFix (исправление Flash-печати) для Fusion Charts Free?
У меня есть страница, содержащая смесь HTML и Flash-контента, созданного Fusion Charts Free. Я бы хотел, чтобы люди могли печатать эту страницу, но похоже, что другие браузеры, кроме IE, не способны это сделать; содержимое из плагинов, таких как Flash, просто оказывается пустым в распечатке.
Я провел небольшое исследование и наткнулся на это исправление, изначально разработанное для AnyChart, но выпущенное как отдельная библиотека. Похоже, это то, что большинство людей используют для решения проблемы. К сожалению, исправление написано в ActionScript 3, в то время как Fusion Free написано в ActionScript 2.
Я потратил некоторое время, пытаясь перенести исправление обратно на AS2, но это оказалось трудным. И я не жду перехода с Fusion Free на AS3. У меня есть опыт работы с Flash, но это было до AS3, а не на уровне, необходимом для этого проекта.
Я также сталкивался с этим вопросом, на который есть один многообещающий ответ, но, похоже, он применим только к Flash Open Charts.
Поскольку Fusion является довольно популярным пакетом, похоже, что кто-то должен был столкнуться с этой проблемой до меня. Кто-нибудь уже внедрил исправление печати для Fusion?
2 ответа
Ответ на этот вопрос - нет; нет. Также нецелесообразно портировать ACPrintFix на AS1/AS2, потому что ACPrintFix опирается на класс ByteArray, который доступен только в AS3.
В конце концов я решил эту проблему, портировав Fusion на AS3. Это было трудоемко, поскольку существующий код AS1 / AS2 был написан не очень хорошо; например, было много случаев, когда на переменные ссылались с другим регистром, то есть xpos vs xPos; все это должно быть пересмотрено и стандартизировано.
Конечный результат, однако, работает довольно хорошо. А поскольку код Fusion теперь является современным AS3, применять пользовательские модификации намного проще, чем когда он был в своем первоначальном состоянии.
Решением было бы создать выделенный вид печати (очень похожий на таблицу стилей печати в CSS) и использовать его для печати: http://livedocs.adobe.com/flex/3/html/help.html?content=printing_4.html
Вы должны иметь возможность доступа к данным растрового изображения для компонента изнутри вашего собственного компонента, если у вас был тот, который обернул FusionCharts.