Для печати в виде растрового изображения вы можете использовать параметры печати как,
var printOption:PrintJobOptions = new PrintJobOptions();
printOption.printAsBitmap = true;
перед addPage (...); линия
Но это не причина для пустого SWF.
используйте следующий код,
function firePrint(e:MouseEvent):void
{
printImage(Img);
}
printBtn.addEventListener(MouseEvent.CLICK, firePrint, false, 0, true);
function printImage(mc:MovieClip):void
{
var realW:Number = mc.width;
var realH:Number = mc.height;
var orgX:Number = mc.x;
var orgY:Number = mc.y;
var pj:PrintJob = new PrintJob();
var pageCount:Number = 0;
var printOption:PrintJobOptions = new PrintJobOptions();
printOption.printAsBitmap = true;
if (pj.start())
{
mc.x = 0;
mc.y = 0;
var cXscale:Number,cYscale:Number;
if (pj.orientation.toLowerCase() != "landscape")
{
mc.rotation = 90;
mc.x = mc.width;
cXscale = (pj.pageWidth / realH) * 100;
cYscale = (pj.pageHeight / realW) * 100;
}
else
{
cXscale = (pj.pageWidth / realW) * 100;
cYscale = (pj.pageHeight / realH) * 100;
}
mc.scaleX = mc.scaleY = Math.min(cXscale,cYscale);
if (pj.addPage(mc,new Rectangle(0,0,realW,realH)))
{
pageCount++;
}
if (pageCount > 0)
{
pj.send();
}
mc.scaleX = mc.scaleY = 100;
mc.rotation = 0;
mc.x = orgX;
mc.y = orgY;
pj = null;
}else
{
//No printer or prnting is cancelled
}
}