如何打印网页包含flash

时间:2012-05-27 10:57:52

标签: jquery html flash

是否可以打印包含Flash内容的网页?也许使用jQuery?

我有一个页面,其中包含一些需要打印的SWF对象,但我找不到在Firefox中打印它们的方法。

我可以使用插件,但我不想强迫访问者使用任何插件才能打印页面。

2 个答案:

答案 0 :(得分:2)

像ThiefMaster说的那样。 不使用闪光灯可能是最好的方法。

但是如果你还想打印闪光灯。您可以尝试ping a server-side script (php) snap shot您想要的页面,然后显示可以使用Flash的printjob功能打印的图像。

  • 加载将显示网址快照的网页(使用快照拍摄的快照) php)使用Loader类。 确保标题正确无误 php页面(所以浏览器认为它是一个图像)。
  • 使用闪光灯打印图像打印图像

希望有所帮助!

答案 1 :(得分:1)

嗯,这是一个非常复杂的方法,但它可能会起作用。为此,您必须能够编辑页面上的所有Flash文件,并且这必须是支持Base64编码图像源的浏览器(我不认为IE支持它)。

  • 用户按下网页上的打印按钮
  • 您的自定义Javascript使用ExternalInterface在每个Flash对象中调用“getScreenshot”函数。
  • Flash文件的getScreenshot函数(您创建的)创建一个与舞台一样大的BitmapData,使用BitmapData.draw(..)方法在其上绘制,使用Base64对其进行编码并返回它。
  • Javascript隐藏flash对象并将图像元素放在顶部,并使用Base64编码的字符串填充它。
  • 现在,由于所有flash对象都已被图像替换,因此请通过javascript调用文档打印功能。
  • 用户完成打印后,可以按网页上的按钮“恢复”Flash内容,删除动态创建的图像元素并再次显示flash对象。

虽然这有点过分,但如果你真的需要人们能够打印页面和flash对象,这将是实现这一目标的一种方法。