Fusion Charts Free 是否有 ACPrintFix(Flash 打印修复)的实现?
我有一个页面,其中包含 Fusion Charts Free 生成的 HTML 和 Flash 内容的混合。我希望人们能够打印此页面,但看起来 IE 以外的浏览器无法做到这一点;来自 Flash 等插件的内容在打印输出中只是显示为空。
我做了一些研究并发现了 此修复,最初是为 AnyChart 设计的,但作为独立库发布。这似乎是大多数人用来解决问题的方法。不幸的是,修复程序是用 ActionScript 3 编写的,而 Fusion Free 是用 ActionScript 2 编写的。
我花了一些时间尝试将修复程序移植回 AS2,但这证明很困难。我并不期待将所有 Fusion Free 迁移到 AS3。我有一些 Flash 经验,但那是 AS3 之前的经验,达不到该项目所需的水平。
我还遇到了 这个问题,它有一个有希望的答案,但它似乎仅适用于 Flash Open Charts。
由于 Fusion 是一个非常流行的软件包,似乎有人应该在我之前遇到这个问题。有人已经为 Fusion 实施了打印修复吗?
I have a page containing a mix of HTML and Flash content produced by Fusion Charts Free. I'd like people to be able to print this page, but it looks like browsers other than IE are not capable of doing that; content from plugins like Flash just turns up empty in the printout.
I did some research and came across this fix, designed originally for AnyChart, but released as a stand-alone library. This appears to be what most people are using to solve the problem. Unfortunately, the fix is written in ActionScript 3, while Fusion Free is written in ActionScript 2.
I've spent some time trying to port the fix back to AS2, but that's proving difficult. And I'm not looking forward to migrating all of Fusion Free to AS3. I have some Flash experience, but that was pre-AS3, and not on the level required for this project.
I also came across this question, which has one promising answer, but it appears to apply only to Flash Open Charts.
Since Fusion is a pretty popular package, it seems like someone should have run into this problem before me. Has anyone already implemented a print-fix for Fusion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
解决方案是创建一个专用的打印视图(很像 CSS 中的打印样式表)并使用它进行打印: http://livedocs.adobe.com/flex/3/html/help.html?content=printing_4.html#127813
您应该能够如果您有包装 FusionCharts 的组件,则可以从您自己的组件内部访问组件图像的位图数据。
A solution would be to make a dedicated print view (much like a print stylesheet in CSS) and use that for printing : http://livedocs.adobe.com/flex/3/html/help.html?content=printing_4.html#127813
You should be able to access the bitmap data for the image of the component from inside your own component, if you had one that wrapped FusionCharts.
这个问题的答案是否定的;没有。将 ACPrintFix 移植到 AS1/AS2 也是不切实际的,因为 ACPrintFix 依赖于 ByteArray 类,而该类仅在 AS3 中可用。
最后我通过将Fusion移植到AS3解决了这个问题。这很费力,因为现有的 AS1/AS2 代码写得不是很好;有很多实例,例如,变量被不同大小写引用,即 xpos 与 xPos;所有这些都必须进行审查和标准化。
然而,最终的结果效果非常好。由于 Fusion 代码现在是现代 AS3,因此应用自定义修改比原始状态时要容易得多。
The answer to this question is no; there is not. It is also impractical to port ACPrintFix to AS1/AS2, because ACPrintFix relies on the ByteArray class, which is only available in AS3.
In the end I solved this problem by porting Fusion to AS3. This was laborious, since the existing AS1/AS2 code was not terribly well written; there were many instances, for example, of variables being referenced with different case, i.e. xpos v.s. xPos; these all had to be reviewed and standardized.
The end result, however, works quite well. And since the Fusion code is now modern AS3, applying custom modifications is much easier than when it was in its original state.