Impresiones sucesivas
Publicado por Germán Enríquez (2 intervenciones) el 03/08/2006 20:53:18
Bueno, mi problema es el siguiente, estoy intentando imprimir varias hojas de un documento. Como es logico, este documento esta dividido en varias paginas, pero en el browser solo se muestra una pagina a la vez. Entoces cada vez que mando a imprimir una pagina, se carga la siguiente y se manda a imprimir de nuevo, se carga la siguiente pagina y asi sucesivamente. El problema es que el tiempo que demora en cargarse una pagina hace que al mandar la siguiente impresion se imprima la misma pagina, asi cada vez que mando a imprimir todo, la primera pagina se imprime 2 veces.
Aqui pongo mi codigo con la esperanza de que alguien pueda ayudarme:
//Las paginas del docmento se argan en un IFRAME
//Uso el objeto factory del SriptX
function ImprimirTodo(){
factory.printing.header = "";
factory.printing.footer = "";
factory.printing.paperSize = "A4";
factory.printing.topMargin = 0.4;
factory.printing.bottomMargin = 0.4;
factory.printing.leftMargin = 0.4;
factory.printing.rightMargin = 0.4;
var oDependencia = document.forms[0].ltbBiblioteca;
var sValor=oDependencia.options[oDependencia.selectedIndex].value;;
var sDesde=document.forms[0].txtDe.value;
var sHasta=document.forms[0].txtHasta.value;
var sUsuario=document.forms[0].hdnUsu.value;
var ultimo=fraAuxiliar.document.forms[0].hdnPag.value;
var i=1;
if(parseInt(fraAuxiliar.document.forms[0].Pag.value)!=1){
Cargar(0); //carga la primera pagina
//alert(fraAuxiliar.document.forms[0].Pag.value);
}
while(parseInt(ultimo)<parseInt(sHasta)){
fraAuxiliar.exploracion.style.display='none'; //oculta unos botones
var s="Se está imprimiendo la página "+fraAuxiliar.document.forms[0].Pag.value;
if(factory.printing.print(false,fraAuxiliar)){ //imprime directamente
//fraAuxiliar.exploracion.style.display='none';
ultimo = fraAuxiliar.document.forms[0].hdnPag.value;
ultimo=parseInt(ultimo)+1;
fraAuxiliar.location.href = "frmCodResult.aspx?Valor=" + sValor + "&Desde=" + sDesde + "&Hasta=" + sHasta+"&Inicio="+ultimo; //Carga la siguiente pagina
i=parseInt(i)+1;
alert(s);
}
}
OcultarBotones();
document.forms[0].txtDe.value=ultimo;
document.forms[0].txtHasta.value="";
}
Aqui pongo mi codigo con la esperanza de que alguien pueda ayudarme:
//Las paginas del docmento se argan en un IFRAME
//Uso el objeto factory del SriptX
function ImprimirTodo(){
factory.printing.header = "";
factory.printing.footer = "";
factory.printing.paperSize = "A4";
factory.printing.topMargin = 0.4;
factory.printing.bottomMargin = 0.4;
factory.printing.leftMargin = 0.4;
factory.printing.rightMargin = 0.4;
var oDependencia = document.forms[0].ltbBiblioteca;
var sValor=oDependencia.options[oDependencia.selectedIndex].value;;
var sDesde=document.forms[0].txtDe.value;
var sHasta=document.forms[0].txtHasta.value;
var sUsuario=document.forms[0].hdnUsu.value;
var ultimo=fraAuxiliar.document.forms[0].hdnPag.value;
var i=1;
if(parseInt(fraAuxiliar.document.forms[0].Pag.value)!=1){
Cargar(0); //carga la primera pagina
//alert(fraAuxiliar.document.forms[0].Pag.value);
}
while(parseInt(ultimo)<parseInt(sHasta)){
fraAuxiliar.exploracion.style.display='none'; //oculta unos botones
var s="Se está imprimiendo la página "+fraAuxiliar.document.forms[0].Pag.value;
if(factory.printing.print(false,fraAuxiliar)){ //imprime directamente
//fraAuxiliar.exploracion.style.display='none';
ultimo = fraAuxiliar.document.forms[0].hdnPag.value;
ultimo=parseInt(ultimo)+1;
fraAuxiliar.location.href = "frmCodResult.aspx?Valor=" + sValor + "&Desde=" + sDesde + "&Hasta=" + sHasta+"&Inicio="+ultimo; //Carga la siguiente pagina
i=parseInt(i)+1;
alert(s);
}
}
OcultarBotones();
document.forms[0].txtDe.value=ultimo;
document.forms[0].txtHasta.value="";
}
Valora esta pregunta


0