【问题标题】:Is there an implementation of ACPrintFix (Flash printing fix) for Fusion Charts Free?是否有适用于 Fusion Charts Free 的 ACPrintFix(Flash 打印修复)的实现?
【发布时间】:2011-03-03 05:14:49
【问题描述】:

我有一个页面,其中包含由 Fusion Charts Free 生成的 HTML 和 Flash 混合内容。我希望人们能够打印此页面,但似乎 IE 以外的浏览器无法做到这一点;来自 Flash 等插件的内容在打印输出中只是空白。

我做了一些研究,发现了 this fix,它最初是为 AnyChart 设计的,但作为独立库发布。这似乎是大多数人用来解决问题的方法。不幸的是,修复是用 ActionScript 3 编写的,而 Fusion Free 是用 ActionScript 2 编写的。

我花了一些时间尝试将修复移植回 AS2,但事实证明这很困难。而且我不期待将所有 Fusion Free 迁移到 AS3。我有一些 Flash 经验,但那是 AS3 之前的版本,还没有达到这个项目所需的水平。

我还遇到了this question,它有一个很有希望的答案,但它似乎只适用于 Flash Open Charts。

由于 Fusion 是一个非常受欢迎的软件包,似乎有人应该在我之前遇到这个问题。有人已经为 Fusion 实现了打印修复吗?

【问题讨论】:

    标签: flash actionscript-3 actionscript printing fusioncharts


    【解决方案1】:

    一种解决方案是制作一个专用的打印视图(很像 CSS 中的打印样式表)并将其用于打印:http://livedocs.adobe.com/flex/3/html/help.html?content=printing_4.html#127813

    如果您有一个包装了 FusionCharts 的组件,您应该能够从自己的组件内部访问组件图像的位图数据。

    【讨论】:

    • 据我所知,这只会改变单个 Flash 容器的打印输出;它没有做任何事情来解决打印包含这样一个容器的页面的问题。 Flash 内容仍然是不可见的,无论它是否在内部使用位图。
    【解决方案2】:

    这个问题的答案是否定的;那没有。将 ACPrintFix 移植到 AS1/AS2 也是不切实际的,因为 ACPrintFix 依赖于 ByteArray 类,该类仅在 AS3 中可用。

    最后我通过将 Fusion 移植到 AS3 解决了这个问题。这很费力,因为现有的 AS1/AS2 代码写得不是很好;有许多实例,例如,变量被不同大小写引用,即 xpos vs. xPos;这些都必须经过审查和标准化。

    但是,最终结果效果很好。而且由于 Fusion 代码现在是现代 AS3,因此应用自定义修改比其原始状态时要容易得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-02
      • 2011-03-20
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 2011-08-09
      • 2021-11-03
      • 2011-08-01
      相关资源
      最近更新 更多