Is there a way to convert asset sprite to a normal sprite ?
I think what you want to do is *addChild to the sprite that you do want to print out. I have worked this type of function into a project before.
http://codeknow.blogspot.com/2011/04/draw-it-digital-draw-print.html <-- if you want to see.
So how did I do it ?
First get the print classes from flash.
import flash.printing.*;
Next just set up the print function which in this case was *onClick*
Create a new *print job, as the desired items to the *Sprite that I want to print out (something that was just a empty spite on stage), position the items however I see fit to the printed page, and then in this case also put everything back; Here is the function I used. I guess another way would just to duplicate all printed objects and delete after printed...etc... "all roads lead to rome" .. this one is slightly paved

private function printObjects(event:MouseEvent):void
{
//newPrintJobObject
var printPage:PrintJob=new PrintJob;
pageHolder_mc.frontPage_mc.addChild(pageHolder_mc.pageBack_mc);
try
{
//print array is all items I wanted to print out, created well before printObject
i=_printArray.length;
while (i--)
{
_printArray[i].visible=true;
_printArray[i].x=0;
_printArray[i].y=0;
_printArray[i].width=363.75;
_printArray[i].height=281;
//printAll is blank sprite to print
printAll_mc.addChild(_printArray[i]);
}
//postion all objects inside of each sprite
pageHolder_mc.pageBack_mc.x=pageHolder_mc.frontPage_mc.x=308;
pageHolder_mc.pageBack_mc.y=pageHolder_mc.frontPage_mc.y=374;
pageHolder_mc.pageBack_mc.rotation=pageHolder_mc.frontPage_mc.rotation=-90;
messagePage_mc.x=pageHolder_mc.eventPage_mc.x=327.85;
messagePage_mc.y=30.35;
pageHolder_mc.eventPage_mc.y=394.15;
messagePage_mc.rotation=pageHolder_mc.eventPage_mc.rotation=90;
printAll_mc.x=0 - printAll_mc.width;
//start the print process
printPage.start();
printPage.addPage(printAll_mc);
}
//start the print process *print process was strange on different comps, until I added this ... quite odd and not sure I ever //really figured out why I had to dupe what I just did but in a different way... but it works !
catch (event:Error)
{
i=_printArray.length;
while (i--)
{
_printArray[i].visible=true;
_printArray[i].rotation=0;
pageHolder_mc.addChild(_printArray[i]);
}
messagePage_mc.visible=false;
pageHolder_mc.pageBack_mc.width=pageHolder_mc.frontPage_mc.width=pageHolder_mc.eventPage_mc.width=393.6;
pageHolder_mc.pageBack_mc.height=pageHolder_mc.frontPage_mc.height=pageHolder_mc.eventPage_mc.height=304.05;
pageHolder_mc.pageBack_mc.x=pageHolder_mc.frontPage_mc.x=pageHolder_mc.eventPage_mc.x=0;
pageHolder_mc.pageBack_mc.y=pageHolder_mc.frontPage_mc.y=pageHolder_mc.eventPage_mc.y=0;
_canvas.canvas.visible=true;
}
//reset all items back and print== null
i=_printArray.length;
while (i--)
{
_printArray[i].visible=true;
_printArray[i].rotation=0;
pageHolder_mc.addChild(_printArray[i]);
}
messagePage_mc.visible=false;
pageHolder_mc.pageBack_mc.width=pageHolder_mc.frontPage_mc.width=pageHolder_mc.eventPage_mc.width=393.6;
pageHolder_mc.pageBack_mc.height=pageHolder_mc.frontPage_mc.height=pageHolder_mc.eventPage_mc.height=304.05;
pageHolder_mc.pageBack_mc.x=pageHolder_mc.frontPage_mc.x=pageHolder_mc.eventPage_mc.x=0;
pageHolder_mc.pageBack_mc.y=pageHolder_mc.frontPage_mc.y=pageHolder_mc.eventPage_mc.y=0;
printPage.send();
printPage=null;
reset();
}
hope this helps in some way or fashion, fact is ... it works... its just really freaking tedious.
good luck

mB