所以我遇到了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
非常感谢您的帮助!!
答案 0 :(得分:0)
Chrome的一个已知问题是,任何分配用于打印的DisplayObject都需要在舞台上。
只需将其添加到舞台并随后将其删除即可。
然而,我通常喜欢在所有东西后面设置一个容器,以防止添加/移除孩子的眨眼。