Después de un par de días, creo que ya entendí un poco como funciona esto. Pero aún NO logro darle solución a mi problema.
Según veo el crear un Rectangle es lo que me ayuda a posicionar mi MovieClip con respecto a los margenes de la página. Entonces hago lo siguiente.
Código :
var margin_height:Number = (impresor.paperHeight - impresor.pageHeight) / 2;
var margin_width:Number = (impresor.paperWidth - impresor.pageWidth) / 2;
impresor.addPage(clip_mc,new Rectangle(margin_height, margin_height, 400, 400));
pero de igual manera la impresión no respeta los márgenes; por otra parte, solo me funciona si pongo los valores de manera
manual y negativos???!!! ¿Porqué negativos?. Sea como sea, la idea es obtener los márgenes de manera automática sin necesidad
de estarlos calculando.
Aquí les pongo mi triste código, espero me expliquen por que no funciona.
Código :
b_btn.addEventListener(MouseEvent.CLICK, imprimi);
function imprimi(e:MouseEvent):void {
var impresor:PrintJob = new PrintJob();
impresor.start();
var margin_height:Number = (impresor.paperHeight - impresor.pageHeight) / 2;
var margin_width:Number = (impresor.paperWidth - impresor.pageWidth) / 2;
var oldScaleX:Number = clip_mc.scaleX;
var oldScaleY:Number = clip_mc.scaleY;
var newScaleX:Number = impresor.paperWidth/clip_mc.width;
var newScaleY:Number = impresor.paperHeight/clip_mc.height;
clip_mc.scaleX = newScaleX;
clip_mc.scaleY = newScaleY;
trace("escala X" + newScaleX);
trace("escala Y" + newScaleY);*/
trace("margen alto: " + margin_height); //11.5
trace("margen ancho: " + margin_width); //18
trace(impresor.orientation); //portrait
//impresor.addPage(clip_mc,new Rectangle(margin_height, margin_height, 400, 400));
impresor.addPage(clip_mc,new Rectangle(-60, -68, 400, 400));
impresor.send();
}
No es que quiera todo en bandeja de plata, solamente necesito que me ayuden a entender todo esto.
PD: Ya leí una y otra vez la ayuda de Adobe.