Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/09/2007, 23:46
wwwmaster
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Re: Imprimir documento,URGENTE!!!!

yo lo hago con Flash, ya que el control de impresion de flash si se brinca el control de impresion del navegador (aunq no recuerdo si el de windows tambien), de hecho FLASH MX tiene una clase print job como la q comentas. El codigo a continuacion es codigo actionscript dentro del flash:
Cita:
movieImpresion = "mcImpresion6P"
//printAsBitmap(movieImpresion,"bframe")
//getURL("javascript:alert('Se imprimira:"+movieImpresion+" con frames="+framesAImprimir +"')")
// Pruebas de nuevo trabajo conPRINTJOB
var printJob:PrintJob = new PrintJob();
if (printJob.start()) {
var numPages:Number = 0;
var nPageWidth:Number = printJob.pageWidth;
var nPageHeight:Number = printJob.pageHeight;

// Starting 50 pixels to the right of 0,0 and 70 pixels down,
// print an area 500 pixels wide and 600 pixels high
// of frame 4 of level 5 in vector format


//612 by 792
var w:Number = _root[movieImpresion]._width;
var h:Number = _root[movieImpresion]._height;
if (w > h){
//use width to determine scale factor
var scaleFactor = nPageWidth/w;
} else {
var scaleFactor = nPageHeight/h;
}
//' altoimpresora100% =
// Guarda valores originales

var x:Number = _root[movieImpresion]._xscale;
var y:Number = _root[movieImpresion]._yscale;

_root[movieImpresion]._xscale = scaleFactor*100;
_root[movieImpresion]._yscale = scaleFactor*100;

// if (printJob.addPage(movieImpresion, {xMin:50,xMax:550,yMin:70,yMax:670},{printAsBitmap :true}, 1 )) {
if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, 1 )) {
numPages++;
}
// Imprime tantos como carreras haya
for (indImpr=0;indImpr<framesAImprimir;indImpr++){
if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, indImpr+2 )) { // perfiles 1er carrera
numPages++;
}
}

if (printJob.addPage(movieImpresion, null,{printAsBitmap:true}, 8 )) { // Guia analitica
numPages++;
}
// Si hay porblemas, se imprime el ultimo frame
if (txtProblemas!="" && txtProblemas!=undefined) {

if (printJob.addPage(movieImpresion, null,{printAsBitmap:true},9 )) {
numPages++;
}
}
if (numPages>0) {
printJob.send();
}
_root[movieImpresion]._xscale = x;
_root[movieImpresion]._yscale = y;
}
delete printJob;