Foros del Web » Programando para Internet » PHP »

Formulario e Impresion automatica con ventanas emergentes!!!

Estas en el tema de Formulario e Impresion automatica con ventanas emergentes!!! en el foro de PHP en Foros del Web. Bueno amigos aquí estoy nuevamente pidiendo vuestra ayuda, espero no estar abusando. resulta que estoy realizando un sistema para controlar el registro de los socios ...
  #1 (permalink)  
Antiguo 02/05/2011, 21:33
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
Pregunta Formulario e Impresion automatica con ventanas emergentes!!!

Bueno amigos aquí estoy nuevamente pidiendo vuestra ayuda, espero no estar abusando.
resulta que estoy realizando un sistema para controlar el registro de los socios y sus pagos de una cooperativa de agua potable rural.
Resulta que llegado fin de mes quiero generar el típico aviso de cobranza en una ventana emergente y que esta se baya imprimiendo y cambiando sola a medida que imprimen los distintos avisos..

Para esto tengo el siguiente formulario donde selecciono el perido de pago y la fecha de vencimiento para todos los avisos.

cuyo codigo es GenerarAvisoCobranza.php
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. </head>
  7.  
  8. <body>
  9. <blockquote>
  10.   <blockquote>
  11.     <form id="form1" name="form1" method="post" action="">
  12.       <label>  </label>
  13.       <table width="500" border="1" align="center" cellpadding="2" cellspacing="1">
  14.         <tr bgcolor="#00CCFF">
  15.           <td colspan="2" align="center">Generar avisos de cobranza</td>
  16.         </tr>
  17.         <tr>
  18.           <td>Periodo de pago</td>
  19.           <td><select name="mes_pago" id="mes_pago">
  20.             <option selected="selected">mes</option>
  21.             <option value="01">enero</option>
  22.             <option value="02">febrero</option>
  23.             <option value="03">marzo</option>
  24.             <option value="04">abril</option>
  25.             <option value="05">mayo</option>
  26.             <option value="06">junio</option>
  27.             <option value="07">julio</option>
  28.             <option value="08">agosto</option>
  29.             <option value="09">septiembre</option>
  30.             <option value="10">octubre</option>
  31.             <option value="11">noviembre</option>
  32.             <option value="12">diciembre</option>
  33.           </select>
  34.             <select name="anio_pago" id="anio_pago">
  35.               <option>año</option>
  36.               <option>2011</option>
  37.               <option>2012</option>
  38.               <option>2013</option>
  39.               <option>2015</option>
  40.               <option>2016</option>
  41.               <option>2017</option>
  42.               <option>2018</option>
  43.               <option>2019</option>
  44.               <option>2020</option>
  45.           </select></td>
  46.         </tr>
  47.         <tr>
  48.           <td width="119">Fecha vencimiento</td>
  49.           <td width="264"><label>
  50.             <select name="dia" id="dia">
  51.               <option>dia</option>
  52.               <option>01</option>
  53.               <option>02</option>
  54.               <option>03</option>
  55.               <option>04</option>
  56.               <option>05</option>
  57.               <option>06</option>
  58.               <option>07</option>
  59.               <option>08</option>
  60.               <option>09</option>
  61.               <option>10</option>
  62.               <option>11</option>
  63.               <option>12</option>
  64.               <option>13</option>
  65.               <option>14</option>
  66.               <option>15</option>
  67.               <option>16</option>
  68.               <option>17</option>
  69.               <option>18</option>
  70.               <option>19</option>
  71.               <option>20</option>
  72.               <option>21</option>
  73.               <option>22</option>
  74.               <option>23</option>
  75.               <option>24</option>
  76.               <option>25</option>
  77.               <option>26</option>
  78.               <option>27</option>
  79.               <option>28</option>
  80.               <option>29</option>
  81.               <option>30</option>
  82.               <option>31</option>
  83.               </select>
  84.             <select name="mes" id="mes">
  85.               <option>mes</option>
  86.               <option value="01">enero</option>
  87.               <option value="02">febrero</option>
  88.               <option value="03">marzo</option>
  89.               <option value="04">abril</option>
  90.               <option value="05">mayo</option>
  91.               <option value="06">junio</option>
  92.               <option value="07">julio</option>
  93.               <option value="08">agosto</option>
  94.               <option value="09">septiembre</option>
  95.               <option value="10">octubre</option>
  96.               <option value="11">noviembre</option>
  97.               <option value="12">diciembre</option>
  98.               </select>
  99.             <select name="anio" id="anio">
  100.               <option>año</option>
  101.               <option>2011</option>
  102.               <option>2012</option>
  103.               <option>2013</option>
  104.               <option>2015</option>
  105.               <option>2016</option>
  106.               <option>2017</option>
  107.               <option>2018</option>
  108.               <option>2019</option>
  109.               <option>2020</option>
  110.               </select>
  111.           </label></td>
  112.         </tr>
  113.         <tr>
  114.           <td colspan="2" align="center"><input type="submit" name="generar_aviso_cobranza" id="generar_aviso_cobranza" value="   generar avisos   "  onclick="window.open('AvisoCobranza.php','nuevaVentana','width=500, height=450')"/></td>
  115.         </tr>
  116.       </table>
  117.       <p><a href="AvisoCobranza.php"></a></p>
  118.     </form>
  119.   </blockquote>
  120. </blockquote>
  121. </body>
  122. </html>

y el archivo de la venta emergete es AvisoCobranza.php
([URL="http://s2.subirimagenes.com/imagen/6344933formulario-avs.png"]aqui una imagen[/URL])
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Aviso Cobranza</title>
  6. <link href="avisos.css" rel="stylesheet" type="text/css" />
  7. </head>
  8. <?php
  9. $dia=$_POST['dia'];
  10. $mes=$_POST['mes'];
  11. $anio=$_POST['anio'];
  12. $fecha = $anio . "-" . $mes . "-" . $dia;
  13. ?>
  14.  
  15. <body>
  16. <form id="form1" name="form1" method="post" action="">
  17.   <table width="420" border="1" align="center" cellpadding="0" cellspacing="1" bordercolordark="">
  18.     <tr>
  19.       <td colspan="2" valign="bottom" align="center" ><p>COOPERATIVA DE SERVICIO DE AGUA POTABLE </p>
  20.         <p align="center">&quot;QUIRIQUINA LTDA.&quot;</p>
  21.         <p>&nbsp;</p>
  22.         <p>&nbsp;</p>
  23.         <p>&nbsp; </p></td>
  24.     </tr>
  25.     <tr>
  26.       <td colspan="2" align="center"><strong>AVISO</strong></td>
  27.     </tr>
  28.     <tr>
  29.       <td width="139">Socio.</td>
  30.       <td width="272"><label>
  31.         <input name="nombre_socio" type="text" id="nombre_socio" size="40" />
  32.       </label></td>
  33.     </tr>
  34.     <tr>
  35.       <td>Numero de cuenta</td>
  36.       <td><label>
  37.         <input name="id_cuenta" type="text" id="id_cuenta" size="40" />
  38.       </label></td>
  39.     </tr>
  40.     <tr>
  41.       <td>Perido pago</td>
  42.       <td><label>
  43.         <input name="periodo_pago" type="text" id="periodo_pago" size="40" />
  44.       </label></td>
  45.     </tr>
  46.     <tr>
  47.       <td>Fecha Emision</td>
  48.       <td><label>
  49.         <input name="fecha_emision" type="text" id="fecha_emision" size="40" />
  50.       </label></td>
  51.     </tr>
  52.     <tr>
  53.       <td>Metros consumidos</td>
  54.       <td><label>
  55.         <input name="metros_consumidos" type="text" id="metros_consumidos" size="40" />
  56.       </label></td>
  57.     </tr>
  58.     <tr>
  59.       <td>Valor</td>
  60.       <td><label>
  61.         <input name="valor" type="text" id="valor" size="40" />
  62.       </label></td>
  63.     </tr>
  64.     <tr>
  65.       <td>( - ) Subsidio</td>
  66.       <td><label>
  67.         <input name="subsidio" type="text" id="subsidio" size="40" />
  68.       </label></td>
  69.     </tr>
  70.     <tr>
  71.       <td>( + )Deuda anterior</td>
  72.       <td><label>
  73.         <input name="deuda_anterior" type="text" id="deuda_anterior" size="40" />
  74.       </label></td>
  75.     </tr>
  76.     <tr>
  77.       <td>( + )Otros</td>
  78.       <td><label>
  79.         <input name="otros" type="text" id="otros" size="40" />
  80.       </label></td>
  81.     </tr>
  82.     <tr>
  83.       <td>Total</td>
  84.       <td><label>
  85.         <input name="total" type="text" id="total" size="40" />
  86.       </label></td>
  87.     </tr>
  88.     <tr>
  89.       <td>Plazo de pago</td>
  90.       <td><input name="plazo_pago" type="text" id="plazo_pago" value="<?php echo $fecha;?>" size="40" /></td>
  91.     </tr>
  92.   </table>
  93. </form>
  94. </body>
  95. </html>

El primer problema que tengo es que no se como pasar a la ventana emergente las fechas del formulario(probé con variables de tipo session apoyándome en otro archivo pero no me parece seguro y no me funcionan del todo) y el ciclo es evidente que tiene que ser con un for dependiendo de la cantidad de socios a los que quiero imprimir sus datos, pero tampoco se me ocurre bien como.
De antemano muchas gracias.

La verdad e estado 2 días dando vuelta en esto por eso recurro a ustedes.
  #2 (permalink)  
Antiguo 02/05/2011, 23:06
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 21
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Hola

Como sugerencia, no me parece buena idea abrir ventanas por cada socio e imprimirlas por separado. Deberías realizar una sola impresión y usar una hoja por cada socio.

Suerte
Sotelio
  #3 (permalink)  
Antiguo 02/05/2011, 23:26
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Hola que tal!,
La siguiente modificación es en el archivo GenerarAvisoCobranza.php:
  • Lo primero que debes hacer es borrar el onclick completo del botón submit, es decir, quedaría así:
    Código HTML:
    <input type="submit" name="generar_aviso_cobranza" id="generar_aviso_cobranza" value="   generar avisos   " /> 
  • Después a la etiqueta de apertura <form> debes agregarle:
    1. action="AvisoCobranza.php" - para que los datos se puedan enviar por POST.
    2. target="AvisoCobranza" - para que el formulario sea enviado a la ventana nueva que se llamará AvisoCobranza.
    3. onsubmit="javascript:window.open('','AvisoCobranza ','width=500,height=450,scrollbars=yes')" - el cuál abrirá una nueva ventana al nombre de AvisoCobranza que esta en el target y procesandolos en el action definido como AvisoCobranza.php.
    es decir, quedaría así:
    Código HTML:
    <form id="form1" name="form1" method="post" target="AvisoCobranza" action="AvisoCobranza.php" onsubmit="window.open('','AvisoCobranza','width=500,height=450,scrollbars=yes')"> 
Aquí te dejo el archivo GenerarAvisoCobranza.php ya modificado:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
 
<body>
<blockquote>
  <blockquote>
    <form id="form1" name="form1" method="post" target="AvisoCobranza" action="AvisoCobranza.php" onsubmit="window.open('','AvisoCobranza','width=500,height=450,scrollbars=yes')">
      <label> </label>
      <table width="500" border="1" align="center" cellpadding="2" cellspacing="1">
        <tr bgcolor="#00CCFF">
          <td colspan="2" align="center">Generar avisos de cobranza</td>
        </tr>
        <tr>
          <td>Periodo de pago</td>
          <td><select name="mes_pago" id="mes_pago">
            <option selected="selected">mes</option>
            <option value="01">enero</option>
            <option value="02">febrero</option>
            <option value="03">marzo</option>
            <option value="04">abril</option>
            <option value="05">mayo</option>
            <option value="06">junio</option>
            <option value="07">julio</option>
            <option value="08">agosto</option>
            <option value="09">septiembre</option>
            <option value="10">octubre</option>
            <option value="11">noviembre</option>
            <option value="12">diciembre</option>
          </select>
            <select name="anio_pago" id="anio_pago">
              <option>año</option>
              <option>2011</option>
              <option>2012</option>
              <option>2013</option>
              <option>2015</option>
              <option>2016</option>
              <option>2017</option>
              <option>2018</option>
              <option>2019</option>
              <option>2020</option>
          </select></td>
        </tr>
        <tr>
          <td width="119">Fecha vencimiento</td>
          <td width="264">
            <select name="dia" id="dia">
              <option>dia</option>
              <option>01</option>
              <option>02</option>
              <option>03</option>
              <option>04</option>
              <option>05</option>
              <option>06</option>
              <option>07</option>
              <option>08</option>
              <option>09</option>
              <option>10</option>
              <option>11</option>
              <option>12</option>
              <option>13</option>
              <option>14</option>
              <option>15</option>
              <option>16</option>
              <option>17</option>
              <option>18</option>
              <option>19</option>
              <option>20</option>
              <option>21</option>
              <option>22</option>
              <option>23</option>
              <option>24</option>
              <option>25</option>
              <option>26</option>
              <option>27</option>
              <option>28</option>
              <option>29</option>
              <option>30</option>
              <option>31</option>
              </select>
            <select name="mes" id="mes">
              <option>mes</option>
              <option value="01">enero</option>
              <option value="02">febrero</option>
              <option value="03">marzo</option>
              <option value="04">abril</option>
              <option value="05">mayo</option>
              <option value="06">junio</option>
              <option value="07">julio</option>
              <option value="08">agosto</option>
              <option value="09">septiembre</option>
              <option value="10">octubre</option>
              <option value="11">noviembre</option>
              <option value="12">diciembre</option>
              </select>
            <select name="anio" id="anio">
              <option>año</option>
              <option>2011</option>
              <option>2012</option>
              <option>2013</option>
              <option>2015</option>
              <option>2016</option>
              <option>2017</option>
              <option>2018</option>
              <option>2019</option>
              <option>2020</option>
              </select>
          </td>
        </tr>
        <tr>
          <td colspan="2" align="center"><input type="submit" name="generar_aviso_cobranza" id="generar_aviso_cobranza" value="   generar avisos   " /></td>
        </tr>
      </table>
      <p><a href="AvisoCobranza.php"></a></p>
    </form>
  </blockquote>
</blockquote>
</body>
</html> 
El archivo AvisoCobranza.php no se le hizo ningúna modificació, sin embargo, mencionaste que querías un tipo de ciclo que haga un aviso a distinos socios, pero no estoy seguro de como lo quieras.
Estaba pensando en que en el generador se introduzca a cuantos socios se les hará el aviso, pero no se de dónde y cómo vas a sacar los datos de cada socio
y si el aviso se abrira muchas veces, lo cuál sería incómodo y alentaría la PC.
Especifíca mejor como deseas ese ciclo.

Espero que la modificación te sirva, Saludos!
  #4 (permalink)  
Antiguo 03/05/2011, 08:07
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
Pregunta Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por Sotelio Ver Mensaje
Hola

Como sugerencia, no me parece buena idea abrir ventanas por cada socio e imprimirlas por separado. Deberías realizar una sola impresión y usar una hoja por cada socio.

Suerte
Sotelio
Bueno lo que pasa es que un día hice una reserva de pasaje de buses on-line la cual mostró en una ventana emergente el boleto que se imprimiría y luego cuando termino de imprimirse se cerro sola, de hay obtuve la idea que podría realizar un ciclo que fuera imprimiendo automáticamente los 370 avisos y se mostrara en una ventana emergente el aviso que en el momento se esta imprimiendo, no se si me entiendes.
Ahora a partir de lo que tu me dices el aviso podría enviar a través del formulario las fechas y mostrar en otro archivo los datos del aviso(socio, consumo, fechas,deuda) pero como hago para que ese archivo se baya imprimiendo automáticamente??
  #5 (permalink)  
Antiguo 03/05/2011, 09:19
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Parece que no probaste lo que te deje en el mensaje anterior -.-, leelo bien porfavor.
  #6 (permalink)  
Antiguo 03/05/2011, 10:16
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por angelfcm Ver Mensaje
Parece que no probaste lo que te deje en el mensaje anterior -.-, leelo bien porfavor.
Si lo probé y funciona tal cual me dices va super bien, ahora estoy trabajando en las consultas de la BD para mostrar en la ventana emergente.
Eso si no se como generar el ciclo de impresión que como le decia a Sotelio es de aproximadamente 370 avisos aprox.(o boletas como se les quiera llamar).
Estaba pensando que podría haber un archivo intermedio como un controlador (llamado ControladorImpresion.php por ejemplo) que como secuencia funcione asi GenerarAvisoCobranza.php le envíe las fechas de los periodos de pago y fecha de vencimiento de pago a ControladorImpresion.php y este sea algo similiar al siguiente pseudocodigo

realizar_consultas_aviso;

for(i=0,i<totalSocios){

ImprimirAvisoCobranza();
Mostrar ventana AvisoCobranza.php

}

mas menos así creo debería quedar, pero como recien estoy comenzando con php no se como podria ser, no se que me sugiere usted como continuar? gracias
  #7 (permalink)  
Antiguo 03/05/2011, 12:46
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Lo que quieres es que cuándo se ejecuten los avisos, se abra un aviso y cuándo termine de imprimir se cierre la ventana y de paso a un nuevo aviso hasta terminar el ciclo para todos los socios?

Es decir:
  1. Se genera la solicitud para los avisos.
  2. Se envía la solicitud en una nueva ventana para ser imprimida.
  3. Cuándo se termine la impresión se cierre la ventana.
  4. Repertirlo hasta que se impriman todos lo avisos.
  #8 (permalink)  
Antiguo 03/05/2011, 13:59
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por angelfcm Ver Mensaje
Lo que quieres es que cuándo se ejecuten los avisos, se abra un aviso y cuándo termine de imprimir se cierre la ventana y de paso a un nuevo aviso hasta terminar el ciclo para todos los socios?

Es decir:
  1. Se genera la solicitud para los avisos.
  2. Se envía la solicitud en una nueva ventana para ser imprimida.
  3. Cuándo se termine la impresión se cierre la ventana.
  4. Repertirlo hasta que se impriman todos lo avisos.
Exactamente, que la solicitud se realice una sola ves a partir del periodo que deseo pagar y y la fecha de vencimiento de pago y después se realice el ciclo de imprimir todas los avisos y se vaya mostrando lo que se imprime.
Bueno si no se puede mostrar la ventana emergente no importa, pero si que se realice el ciclo de impresión automático para los avisos de los 379 socios.
  #9 (permalink)  
Antiguo 03/05/2011, 15:32
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Hay algo que no se como hacerlo y es el que la impresión sea totalmente automática, ya que existe la función print() en JavaScript pero debes darle click manualmente para imprimirlo ya que esa es la ventana del navegador de la impresora.
Hasta ahorita lo único que se me ocurre esque todos los avisos estén en una página y luego se llama a la función print() para imprimir todo de una vez.
Sólo tendrías que buscar la medida exacta para que se impriman por página separadas y no pegada o cortadas.
Ej:
Al HTML le haces esto:
Código HTML:
<body style="margin:0px;padding:0px;background:red">
<div id="pagina1" style="width:21.59cm;height:27.94cm;background:#ccc">
</div>
<hr />
<div id="pagina2" style="width:21.59cm;height:27.94cm;background:#ccc">
</div> etc......
Y simplemente obtienes los datos de cada socio y le vas creando una página dentro del div que te muestro arriba. Una vez finalizado todo que le des en imprimir y ya.
  #10 (permalink)  
Antiguo 03/05/2011, 20:02
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 21
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Hola

El problema de la impresión es que en el código js lo único que uno hace es ejecutar "print()", luego, que la impresión se realice o no es difícil (o imposible) de confirmar.

Por ejemplo, si en archivo1.php abres una ventana con window.open() el archivo imprimir.php, al que le envías los parámetros, ejecutarías:

Código Javascript:
Ver original
  1. window.print(); // no recuerdo si es document.print()
  2. window.close();

El navegador esperará a que se cierre el diálogo de impresión y luego cerrará la ventana.

Para imprimir varias ventanas entonces tendrías que hacer dento de archivo1.php distintos window.open() al mismo tiempo, pero el navegador no esperaría que cerraras una ventana antes de abrir la otra, por lo que tendrías un montón de ventanas abiertas intentando imprimir.

Entonces, el asunto sería detectar el cierre de la primera ventana para abrir la siguiente. Creo que eso se podría hacer con la función onunload() que se agrega al body ( igual que el onload() ).
Código HTML:
Ver original
  1. <body onunload="abrir_siguiente_ventana()">

Pero en ese caso la función abrir_siguiente_ventana() debiera ser capaz de hacer referencia a la ventana "padre" que la abrió para abrir la siguiente ventana de impresión.

Esto último sería la tarea a averiguar.

Por último, si es que prefieres imprimir todo en una sola ventana, para especificar nuevas páginas de impresión puedes usar esto:


Código HTML:
Ver original
  1. <div style="page-break-after:always"></div>

http://www.javascriptkit.com/dhtmltutors/pagebreak.shtml

Saludos
Sotelio
  #11 (permalink)  
Antiguo 03/05/2011, 21:09
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por angelfcm Ver Mensaje
Hay algo que no se como hacerlo y es el que la impresión sea totalmente automática, ya que existe la función print() en JavaScript pero debes darle click manualmente para imprimirlo ya que esa es la ventana del navegador de la impresora.
Hasta ahorita lo único que se me ocurre esque todos los avisos estén en una página y luego se llama a la función print() para imprimir todo de una vez.
Sólo tendrías que buscar la medida exacta para que se impriman por página separadas y no pegada o cortadas.
Ej:
Al HTML le haces esto:
Código HTML:
<body style="margin:0px;padding:0px;background:red">
<div id="pagina1" style="width:21.59cm;height:27.94cm;background:#ccc">
</div>
<hr />
<div id="pagina2" style="width:21.59cm;height:27.94cm;background:#ccc">
</div> etc......
Y simplemente obtienes los datos de cada socio y le vas creando una página dentro del div que te muestro arriba. Una vez finalizado todo que le des en imprimir y ya.
Si al fin creo que esto es lo que mas se aproxima, imprimir todo en una sola pagina, Sotelio me ha mostrado como especificar al momento de imprimir que son distintas hojas y esto es con <
Código PHP:
Ver original
  1. div style="page-break-after:always"></div>
lo probe imprimiendo en un documento en PDF y lo hizo tal cual. Muchas gracias por todos tus aportes, has sido una gran ayuda, saludos.
  #12 (permalink)  
Antiguo 03/05/2011, 21:15
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por kryzpo23 Ver Mensaje
Si al fin creo que esto es lo que mas se aproxima, imprimir todo en una sola pagina, Sotelio me ha mostrado como especificar al momento de imprimir que son distintas hojas y esto es con <
Código PHP:
Ver original
  1. div style="page-break-after:always"></div>
lo probe imprimiendo en un documento en PDF y lo hizo tal cual. Muchas gracias por todos tus aportes, has sido una gran ayuda, saludos.
Viejo tienes razón, mejor mostralo todo en una sola pagina y luego imprimirlo especificando el fin de cada hoja.
esta linea me ha salvado
Código PHP:
Ver original
  1. div style="page-break-after:always"></div>
la probé imprimiendo en pdf y anda de lujo.
Muchas Gracias.
  #13 (permalink)  
Antiguo 04/05/2011, 08:38
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 21
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

@kryzpo23, excelente! saludos!!
  #14 (permalink)  
Antiguo 04/05/2011, 18:32
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por Sotelio Ver Mensaje
Hola

El problema de la impresión es que en el código js lo único que uno hace es ejecutar "print()", luego, que la impresión se realice o no es difícil (o imposible) de confirmar.

Por ejemplo, si en archivo1.php abres una ventana con window.open() el archivo imprimir.php, al que le envías los parámetros, ejecutarías:

Código Javascript:
Ver original
  1. window.print(); // no recuerdo si es document.print()
  2. window.close();

El navegador esperará a que se cierre el diálogo de impresión y luego cerrará la ventana.

Para imprimir varias ventanas entonces tendrías que hacer dento de archivo1.php distintos window.open() al mismo tiempo, pero el navegador no esperaría que cerraras una ventana antes de abrir la otra, por lo que tendrías un montón de ventanas abiertas intentando imprimir.

Entonces, el asunto sería detectar el cierre de la primera ventana para abrir la siguiente. Creo que eso se podría hacer con la función onunload() que se agrega al body ( igual que el onload() ).
Código HTML:
Ver original
  1. <body onunload="abrir_siguiente_ventana()">

Pero en ese caso la función abrir_siguiente_ventana() debiera ser capaz de hacer referencia a la ventana "padre" que la abrió para abrir la siguiente ventana de impresión.

Esto último sería la tarea a averiguar.

Por último, si es que prefieres imprimir todo en una sola ventana, para especificar nuevas páginas de impresión puedes usar esto:


Código HTML:
Ver original
  1. <div style="page-break-after:always"></div>

http://www.javascriptkit.com/dhtmltutors/pagebreak.shtml

Saludos
Sotelio
Hola sotelio!
Quiere decir que si hago esto:
Código:
<div style="page-break-after:always">PAGINA 1</div>
<div style="page-break-after:always">PAGINA 2</div>
<div style="page-break-after:always">PAGINA 3</div>
Se imprimiran 3 páginas aunque el contenido sea diminuto?
Saludos
  #15 (permalink)  
Antiguo 05/05/2011, 10:15
 
Fecha de Ingreso: julio-2010
Ubicación: Chillan, Chile
Mensajes: 60
Antigüedad: 14 años, 3 meses
Puntos: 1
De acuerdo Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Cita:
Iniciado por angelfcm Ver Mensaje
Hola sotelio!
Quiere decir que si hago esto:
Código:
<div style="page-break-after:always">PAGINA 1</div>
<div style="page-break-after:always">PAGINA 2</div>
<div style="page-break-after:always">PAGINA 3</div>
Se imprimiran 3 páginas aunque el contenido sea diminuto?
Saludos
Amigo.
Por ejemplo si usted tiene lo siguiente
Código PHP:
Ver original
  1. contenido pagina 1
  2. abcd..
  3. <div style="page-break-after:always"></div>
  4. contenido pagina 2
  5. abcd..
  6. <div style="page-break-after:always"></div>
  7. contenido pagina 3
  8. abcd..
  9. <div style="page-break-after:always"></div>
  10. ...
  11. ...
  12. ...
  13. etc
al momento de imprimir los contenidos saldrán en paginas distintas.

de hecho yo entre lineas coloque <div style="page-break-after:always"></div>
y cada linea salio en una pagina distinta.
saludos.
  #16 (permalink)  
Antiguo 07/05/2011, 23:53
(Desactivado)
 
Fecha de Ingreso: abril-2011
Mensajes: 153
Antigüedad: 13 años, 6 meses
Puntos: 236
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Gracias kryzpo23
  #17 (permalink)  
Antiguo 08/05/2011, 01:04
Avatar de Sotelio  
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Chile
Mensajes: 68
Antigüedad: 13 años, 6 meses
Puntos: 21
Respuesta: Formulario e Impresion automatica con ventanas emergentes!!!

Hola

Recomendable para este tipo de tareas, tener un creador de pdfs para que puedan probar la impresión, sin usar hojas!

PDFCREATOR
http://sourceforge.net/projects/pdfcreator/

Saludos!

Etiquetas: emergente, variablesphp, ventanas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.