Pregunta:
Fecha: 25-02-2016 04:18:51
(En Español)
los estoy haciendo con un window.print Votos: 3 - Respuestas: 9 - Vistas: 33 Compartir en: Google Facebook Twitter LinkedIn Link
Imprimir contenido 2 veces en la misma hoja[Resuelta]
Buen día Tengo el siguiente form pero quiero imprimirlo dos veces en la misma pagina , Me podrian ayudar<form name='formulario' method="post" action="<?=$_SERVER['PHP_SELF']?>">
<p>
<?php
include("funciones/crear_dropdown.php");
include("funciones/empresa.php");
$idnom=$_REQUEST['idnom'];
include("conectarbbdd.php");
$result = mysql_query("SELECT * FROM `nominas` WHERE `idnomina` LIKE '$idnom' LIMIT 0 , 30");
echo('<input type="hidden" name="idnomina" value="'.$idnom.'" >');
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$idempleado=$row[1];
$result2 = mysql_query("SELECT * FROM `empleados` WHERE `idemp` LIKE '$idempleado'");
while ($fila = mysql_fetch_array($result2, MYSQL_NUM)) {
?>
</p>
<table border="1" bordercolor="#6396BB">
<tr>
<th width="153" bgcolor='BBD1E1'>Comprobante #:</th> <td width="244"><?php echo('<input value="'.$idnom.'" readonly="true">'); ?></td>
<th width="92" bgcolor='BBD1E1'>Fecha: </th> <td width="62"><?php echo('<input value="'.$row[2].' '.$row[3].'" readonly="true">'); ?></td></tr>
<?php
printf("<th bgcolor='BBD1E1'> Tipo Nomina: </th><td>");
$arraytipos = array();
$resultipos = mysql_query("SELECT * FROM `t_tiponom`");
while ($filatipos = mysql_fetch_array($resultipos, MYSQL_NUM)) {
$arraytipos[] = $filatipos[1];
}
printf("%s", $arraytipos[$row[8]]);
echo('</td></tr>');
?>
<tr>
<th colspan="2" bgcolor='BBD1E1'><img src="login/003.png" width="208" height="42"></th>
<th colspan="2" bgcolor='BBD1E1'> DATOS EMPLEADO</th>
</tr>
<tr>
<td colspan="2"><label><b>Dir: </b></label>
Cra 14 # 66 77 <strong>Tel</strong>: 7450909 </td>
<th bgcolor='BBD1E1'>Nº del Empleado</th>
<?php echo('<td><input value="'.$row[1].'" readonly="true"></td>'); ?>
</tr>
<tr>
<th bgcolor='BBD1E1'>Nit </th>
<th bgcolor='BBD1E1'>Tipo de Actividad</th>
<th bgcolor='BBD1E1'>Nombre</th>
<?php echo('<td><input value="'.$fila[1].'" readonly="true"></td>'); ?>
</tr>
<tr>
<td><?php echo($cifemp); ?></td>
<td>Regimen Común </td>
<th bgcolor='BBD1E1'>Apellidos</td>
<?php echo('<td><input value="'.$fila[2].' '.$fila[3].'" readonly="true"></td>'); ?>
</tr>
<tr>
<th bgcolor='BBD1E1'> </th>
<td> </td>
<th bgcolor='BBD1E1'>Cedula</th>
<?php echo('<td><input value="'.$fila[5].'" readonly="true"></td>'); ?>
</tr>
<tr> <th colspan="2" bgcolor='BBD1E1'>DENOMINACION</th>
<th colspan="1" bgcolor='BBD1E1'>CANTIDAD</th>
<th colspan="1" bgcolor='BBD1E1'>VALOR</th>
</tr>
<?php
echo('');
//buscar todos los devengos
//cargar todos los tipos de conceptos de la nomina
$options2 = array();
$arraytipocon2 = array();
$sqltconcepto="SELECT * FROM `t_conceptos`";
$resultipo=mysql_query($sqltconcepto);
while ($tconcepto = mysql_fetch_array($resultipo, MYSQL_NUM)) {
//guardar en un array todos los tipos de conceptos de la nomina
$options2[]= $tconcepto[1];
$arraytipocon[]= $tconcepto[2];
}
// cargar los conceptos de la nomina
$sqlnomconp = "SELECT * FROM `conceptosnom` WHERE `IdNomina` = '$idnom'";
$a=0;
$sumadevengo=0;
$resulsql=mysql_query($sqlnomconp);
//mostrar todos los devengos
while ($filanom = mysql_fetch_array($resulsql, MYSQL_NUM)) {
if ($arraytipocon[$filanom[2]-1]=='0'){ //si el tipo de concepto de nomina es 1, escibir la deduccion
echo('<tr> <td colspan="2"> '.$options2[$filanom[2]-1].' </td>');
echo ( '<td> <input id="person1" value="'.$filanom[3].'" readonly="true"></td>');
echo ( '<td colspan="2"> <input id="person1" value="'.$filanom[4].' $" readonly="true"></td> </tr>');
$sumadevengo=$sumadevengo+$filanom[5];
}
}
echo('');
echo('<tr><th colspan="4" bgcolor="BBD1E1" >DEDUCCIONES</th></tr>');
// cargar los conceptos de la nomina
$sqlnomconp = "SELECT * FROM `conceptosnom` WHERE `IdNomina` = '$idnom'";
$a=0;
$sumadeduccuion=0;
$resulsql=mysql_query($sqlnomconp);
//mostrar todos los devengos
while ($filanom = mysql_fetch_array($resulsql, MYSQL_NUM)) {
if ($arraytipocon[$filanom[2]-1]=='1'){ //si el tipo de concepto de nomina es 1, escibir el devengo
echo('<tr><th bgcolor="BBD1E1" colspan="2">'.$options2[$filanom[2]-1].' $ :</th>');
echo ( '<td> <input id="person1" value= $'.$filanom[4].' " readonly="true"></td> </tr>');
$sumadeduccuion=$sumadeduccuion+$filanom[6];
}
}
echo('');
$sqlcont = mysql_query ("SELECT * FROM `contratos` WHERE `idcontrato` = '$row[5]' ");
while ($filacont = mysql_fetch_array($sqlcont, MYSQL_NUM)) {
//Dividor digitos de la cuenta bancaria en un array
$digitos = str_split($filacont[14]);
$digitos[6]='*';
$digitos[7]='*';
$digitos[8]='*';
$digitos[9]='*';
$listadigitos = implode(" ", $digitos);
echo('<td colspan="1"></td></tr>');
}
echo('<tr><th bgcolor="BBD1E1">Fecha Pago: </th><td colspan="1"><input value="'.$row[6].'" readonly="true"></td><th bgcolor="BBD1E1">Tipo de Pago</th><td> Transferencia </td></tr>');
echo('');
echo('<tr><td colspan="2">Observacion</td><th bgcolor="BBD1E1">Total Devengos: </th><td><input value="$'.$sumadevengo.'" readonly="true"></td></tr>');
echo('<tr><td colspan="2">Firma</td><th bgcolor="BBD1E1">Total a Deducir: </th><td><input value="$'.$sumadeduccuion.' " readonly="true"></td></tr>');
echo('<tr><td colspan="2">Cedula</td><th bgcolor="BBD1E1">TOTAL a Cobrar: </th><td><input value="$'.$row[4].' " readonly="true"></td></tr>');
}
}
mysql_close();
?>
</table>
<button type='submit' name='imprimir' onClick="window.print()"> Imprimir </button>
<?php
if(isset($_POST["imprimir"]))
{
$idnomina=$_REQUEST['idnomina'];
echo ('<meta http-equiv="Refresh" content="0; URL=bnominap.php?idnom='.$idnomina.'">');
}
if(isset($_POST["volver"]))
{
$idnomina=$_REQUEST['idnomina'];
echo ('<meta http-equiv="Refresh" content="0; URL=lnomina1.php?idnomina='.$idnomina.'">');
}
?>
</button>
</form>los estoy haciendo con un window.print Votos: 3 - Respuestas: 9 - Vistas: 33 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 25-02-2016 06:07:56 Hola Bryan,
Entiendo que cuando hablas de imprimir te refieres a impresión física de una hoja por medio de la impresora, no? bajo esta suposición, lo que quieres hacer es enviar a imprimir 2 hojas con el mismo contenido? (como seleccionar cantidad de copias=2 al momento de imprimir?)
Agradecería puedas dar mas detalle y explicarte un poco más para que podamos ayudarte.
Saludos! Votos: 4 - Link respuesta -
Fecha: 25-02-2016 06:44:03 Mira Gustavo Ese form me imprime lo siguiente

Lo que quiero hacer es que esa impresíon salga en la misma Página en una hoja fisica.
Ya me imprime Pero lo ùnico que me falta es que salga otra copia abajo de esta en la misma hoja Votos: 3 - Link respuesta -
Fecha: 25-02-2016 07:02:04 Hola Bryan, suponiendo que lo que quieres hacer es lo que comenta Gustavo, te cuento que no es posible indicar el número de copias con Javascript nativo, ya que el dialogo de impresión que se abre al ejecutar la función window.print() es controlado a nivel del sistema operativo.... pero como todo, siempre tienes una alternativa o "hack" para simular esta función, aquí te dejo una función de Javascript que envía a imprimir tu documento tantas veces como tu le indiques.
function imprimirDocumento(numeroDeCopias) { var count = 0; while (count < numeroDeCopias) { window.print(); count++; } }
Aquí te dejo el enlace a la demo online: http://www.phpcentral.com/ejemplos/javascript/imprimir_nro_copias.php
Saludos y buen código! Votos: 4 - Link respuesta -
Fecha: 25-02-2016 07:43:23 Gracias Fernando Esta Perfecto, pero no se si no me he hecho entender, esa misma impresion la quiero doble en la misma pagina es decir te pongo un ejemplo
eso es lo que quiero que salga en la hoja
Votos: 3 - Link respuesta
-
Fecha: 25-02-2016 08:11:37 Ah, ok, entonces lo que puedes hacer es crear una nueva página con el contenido duplicado y enviar a imprimir dicha página.
Aquí te doy un ejemplo en código de como podrías hacer esto:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function impresionEspecial(){ var win = window.open("", "Titulo página", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=600, height=400, top=0, left=0"); var formulario = document.getElementById('form_duplicar').innerHTML; win.document.body.innerHTML = formulario + '<br/><hr/><br/>' + formulario; win.print(); win.close(); } </script> </head> <body> <div id="form_duplicar"> <form> Nro de comprobante: <input type="text" value="9999" /><br/> Fecha: <input type="text" value="25/02/2016" /><br/> Otro dato: <input type="text" value="otro" /><br/> </form> </div> <input type="button" onclick="impresionEspecial()" value="Imprimir"/> </body> </html>
Demo online: http://www.phpcentral.com/ejemplos/javascript/imprimir_contenido_duplicado.php
Espero que este ejemplo te sea de ayuda.
Saludos, Votos: 3 - Link respuesta -
Fecha: 25-02-2016 08:34:04 Excelente Muchisimas gracias Fernando Finalmente Adpate mi codigo de la siguiente manera
<?php require_once('login/comprobarweb.php'); ?> <html> <head> <title></title> <script type="text/javascript"> function impresionEspecial(){ var win = window.open("", "Comprobante de pago", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, width=600, height=400, top=0, left=0"); var formulario = document.getElementById('formulario').innerHTML; win.document.body.innerHTML = formulario + '<br/><hr/><br/>' + formulario; win.print(); win.close(); } </script> </head> <body> <div id="formulario"> <form name='formulario' method="post" action="<?=$_SERVER['PHP_SELF']?>"> <p> <?php include("funciones/crear_dropdown.php"); include("funciones/empresa.php"); $idnom=$_REQUEST['idnom']; include("conectarbbdd.php"); $result = mysql_query("SELECT * FROM `nominas` WHERE `idnomina` LIKE '$idnom' LIMIT 0 , 30"); echo('<input type="hidden" name="idnomina" value="'.$idnom.'" >'); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $idempleado=$row[1]; $result2 = mysql_query("SELECT * FROM `empleados` WHERE `idemp` LIKE '$idempleado'"); while ($fila = mysql_fetch_array($result2, MYSQL_NUM)) { ?> </p> <table border="1" bordercolor="#6396BB"> <tr> <th width="153" bgcolor='BBD1E1'>Comprobante #:</th> <td width="244"><?php echo('<input value="'.$idnom.'" readonly="true">'); ?></td> <th width="92" bgcolor='BBD1E1'>Fecha: </th> <td width="62"><?php echo('<input value="'.$row[2].' '.$row[3].'" readonly="true">'); ?></td></tr> <?php printf("<th bgcolor='BBD1E1'> Tipo Nomina: </th><td>"); $arraytipos = array(); $resultipos = mysql_query("SELECT * FROM `t_tiponom`"); while ($filatipos = mysql_fetch_array($resultipos, MYSQL_NUM)) { $arraytipos[] = $filatipos[1]; } printf("%s", $arraytipos[$row[8]]); echo('</td></tr>'); ?> <tr> <th colspan="2" bgcolor='BBD1E1'><img src="login/003.png" width="208" height="42"></th> <th colspan="2" bgcolor='BBD1E1'> DATOS EMPLEADO</th> </tr> <tr> <td colspan="2"><label><b>Dir: </b></label> Cra 14 # 66 77 <strong>Tel</strong>: 7450909 </td> <th bgcolor='BBD1E1'>Nº del Empleado</th> <?php echo('<td><input value="'.$row[1].'" readonly="true"></td>'); ?> </tr> <tr> <th bgcolor='BBD1E1'>Nit </th> <th bgcolor='BBD1E1'>Tipo de Actividad</th> <th bgcolor='BBD1E1'>Nombre</th> <?php echo('<td><input value="'.$fila[1].'" readonly="true"></td>'); ?> </tr> <tr> <td><?php echo($cifemp); ?></td> <td>Regimen Común </td> <th bgcolor='BBD1E1'>Apellidos</td> <?php echo('<td><input value="'.$fila[2].' '.$fila[3].'" readonly="true"></td>'); ?> </tr> <tr> <td> </td> <td> </td> <th bgcolor='BBD1E1'>Cedula</th> <?php echo('<td><input value="'.$fila[5].'" readonly="true"></td>'); ?> </tr> <tr> <th colspan="2" bgcolor='BBD1E1'>DENOMINACION</th> <th colspan="1" bgcolor='BBD1E1'>CANTIDAD</th> <th colspan="1" bgcolor='BBD1E1'>VALOR</th> </tr> <?php echo(''); //buscar todos los devengos //cargar todos los tipos de conceptos de la nomina $options2 = array(); $arraytipocon2 = array(); $sqltconcepto="SELECT * FROM `t_conceptos`"; $resultipo=mysql_query($sqltconcepto); while ($tconcepto = mysql_fetch_array($resultipo, MYSQL_NUM)) { //guardar en un array todos los tipos de conceptos de la nomina $options2[]= $tconcepto[1]; $arraytipocon[]= $tconcepto[2]; } // cargar los conceptos de la nomina $sqlnomconp = "SELECT * FROM `conceptosnom` WHERE `IdNomina` = '$idnom'"; $a=0; $sumadevengo=0; $resulsql=mysql_query($sqlnomconp); //mostrar todos los devengos while ($filanom = mysql_fetch_array($resulsql, MYSQL_NUM)) { if ($arraytipocon[$filanom[2]-1]=='0'){ //si el tipo de concepto de nomina es 1, escibir la deduccion echo('<tr> <td colspan="2"> '.$options2[$filanom[2]-1].' </td>'); echo ( '<td> <input id="person1" value=" '.$filanom[3].'" readonly="true"></td>'); echo ( '<td colspan="2"> <input id="person1" value= $'.$filanom[4].' readonly="true"></td> </tr>'); $sumadevengo=$sumadevengo+$filanom[5]; } } echo(''); echo('<tr><th colspan="4" bgcolor="BBD1E1" >DEDUCCIONES</th></tr>'); // cargar los conceptos de la nomina $sqlnomconp = "SELECT * FROM `conceptosnom` WHERE `IdNomina` = '$idnom'"; $a=0; $sumadeduccuion=0; $resulsql=mysql_query($sqlnomconp); //mostrar todos los devengos while ($filanom = mysql_fetch_array($resulsql, MYSQL_NUM)) { if ($arraytipocon[$filanom[2]-1]=='1'){ //si el tipo de concepto de nomina es 1, escibir el devengo echo('<tr><th bgcolor="BBD1E1" colspan="2">'.$options2[$filanom[2]-1].' $ :</th>'); echo ( '<td> <input id="person1" value= $'.$filanom[4].' " readonly="true"></td> </tr>'); $sumadeduccuion=$sumadeduccuion+$filanom[6]; } } echo(''); $sqlcont = mysql_query ("SELECT * FROM `contratos` WHERE `idcontrato` = '$row[5]' "); while ($filacont = mysql_fetch_array($sqlcont, MYSQL_NUM)) { //Dividor digitos de la cuenta bancaria en un array $digitos = str_split($filacont[14]); $digitos[6]='*'; $digitos[7]='*'; $digitos[8]='*'; $digitos[9]='*'; $listadigitos = implode(" ", $digitos); echo('<td colspan="1"></td></tr>'); } echo('<tr><th bgcolor="BBD1E1">Fecha Pago: </th><td colspan="1"><input value="'.$row[6].'" readonly="true"></td><th bgcolor="BBD1E1">Tipo de Pago</th><td> Transferencia </td></tr>'); echo(''); echo('<tr><td colspan="2">Observacion</td><th bgcolor="BBD1E1">Total Devengos: </th><td><input value="$'.$sumadevengo.'" readonly="true"></td></tr>'); echo('<tr><td colspan="2">Firma</td><th bgcolor="BBD1E1">Total a Deducir: </th><td><input value="$'.$sumadeduccuion.' " readonly="true"></td></tr>'); echo('<tr><td colspan="2">Cedula</td><th bgcolor="BBD1E1">TOTAL a Cobrar: </th><td><input value="$'.$row[4].' " readonly="true"></td></tr>'); } } mysql_close(); ?> </table> <?php if(isset($_POST["imprimir"])) { $idnomina=$_REQUEST['idnomina']; echo ('<meta http-equiv="Refresh" content="0; URL=bnominap.php?idnom='.$idnomina.'">'); } if(isset($_POST["volver"])) { $idnomina=$_REQUEST['idnomina']; echo ('<meta http-equiv="Refresh" content="0; URL=lnomina1.php?idnomina='.$idnomina.'">'); } ?> <input type="button" onclick="impresionEspecial()" value="Imprimir"/> </body> </html>
Gracias Votos: 2 - Link respuesta -
Fecha: 25-02-2016 09:43:05 Fernando Ahora surgio un problema y no se que sea pero a la hora de imprimir no me trae la imagen, que puedes apreciar en mis ejempos :( mira Pdf impreso Votos: 2 - Link respuesta
-
Fecha: 25-02-2016 10:13:59 puede que el problema este en la línea 53:
<img src="login/003.png" width="208" height="42">
intenta poner un url absoluta, y no relativa, digamos, cambia el src:
<img src="http://www.bmlltda.com/personal/2016/login/003.png" width="208" height="42">
Prueba hacer ese cambio y luego nos cuentas.
Saludos! Votos: 3 - Link respuesta -
Fecha: 25-02-2016 10:40:43 Listo ese era el inconveniente, Agradezco muchisimo tu ayuda Votos: 3 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
