AS3打印作业无法使用Chrome

时间:2013-02-28 16:57:37

标签: actionscript-3 google-chrome

所以我遇到了Chrome的一个奇怪问题,我无法在网上找到任何类似问题的帖子。我在AS3应用程序中有一个脚本,它将截图作为位图数据,并使用PrintJob对象将其发送到打印机。它可以在闪存中,本地桌面以及Chrome中的每个浏览器中正常工作。

当我使用Chrome打印时,位图图像只显示为灰色框而不是实际图像本身。如果我将位图添加到舞台并从Chrome中查看它我可以看到位图实际上包含50%灰色填充以外的图像数据但是一旦发送到PrintJob,Chrome似乎就会删除这些数据。

这是我正在使用的代码:

function printImage(clip:Sprite){
      var printJob:PrintJob = new PrintJob();
      printJob.start();                 
      printJob.addPage(clip);           
      printJob.send();
};

var clip:Sprite = new Sprite();
clip.addChild(bitmap);
printImage(clip);   

另外值得注意的是,当我将PrintJobOptions.printAsBitmap设置为true时,灰色框开始出现在所有实例中,而不仅仅是Chrome

非常感谢您的帮助!!

1 个答案:

答案 0 :(得分:0)

Chrome的一个已知问题是,任何分配用于打印的DisplayObject都需要在舞台上。

只需将其添加到舞台并随后将其删除即可。

然而,我通常喜欢在所有东西后面设置一个容器,以防止添加/移除孩子的眨眼。