Foros del Web » Programando para Internet » PHP »

como hacer centrar una imagen en cada hoja?

Estas en el tema de como hacer centrar una imagen en cada hoja? en el foro de PHP en Foros del Web. Buenas.... Explico mi problema Resulta que tengo un script que hace un listado de personas de un club en pantalla, y ahora deseo que esa ...
  #1 (permalink)  
Antiguo 02/04/2013, 15:52
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Pregunta como hacer centrar una imagen en cada hoja?

Buenas....

Explico mi problema

Resulta que tengo un script que hace un listado de personas de un club en pantalla, y ahora deseo que esa lista se pueda llevar a la impresora... hasta aqui no tengo problema, mi problema radica en lo siguiente...

1.- quiero que el logo y encabezado se repita en cada hoja que se imprima
2.- ademas del encabezado necesito poner en el centro de cada hoja una imagen y que se pueda imprimir tambien

ya eh puesto la imagen como background en el body y si la muestra pero NO la imprime.
le tengo que poner a la configuracion que imprima el fondo y no quiero que tenga que pedir a cada usuario que haga esa seleccion...

la lista es variable por eso mi complicacion porque otra opcion era que cada determinados espacios imprima la imagen..
no se... esto perdido no se como empezar con ese tema...
mi codigo para el listado es este:

Código PHP:
<div class="noprint"><? include("../include/header.php"?></div>
<img class="Post-Photo-Left" src="imagen1.gif">
<img class="Post-Photo-Right" src="imagen2.gif" border="0"/>
<h2><center>Encabezado<BR></center></h2>

<?
$query 
mysql_query("SELECT * FROM archivo WHERE rug LIKE '$bar3%' ORDER BY nombre, seccion"); //Busca los Elementos de la Delegacion
?>
   <TABLE BORDER=1 CELLSPACING=1 CELLPADDING=1>
      <TR><TD>&nbsp;<B>Nombre</B></TD>
      <TD>&nbsp;<B>Cargo/Funcion</B>&nbsp;</TD>
      <TD>&nbsp;<B>Telefono</B>&nbsp;</TD>
    <TD><b>Seccion Actual</b></TD>
    <TD><b>Edad</b></TD>
    <TD><B><center>C. U. M.</center></B></TD>
    <TD><B><center>Firma</center></B></TD>
  </TR>
<?
while($row mysql_fetch_assoc($query)) {
   if (
$row["STATUS"] == "ACTIVO") {$cum $row["rug"];$seccion $row["seccion"]; $cum base64_encode($cum);

      
printf("<tr><td>&nbsp;".$i.".-%s</td> <td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td><span style='background-color: ".$color."'>&nbsp;%s&nbsp;</span></td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td><td>&nbsp;%s&nbsp;</td></tr>",
       
$row["nombre"], $row["telefono"],$row["telcel"], $row["seccion"], $row["edad"], $row["rug"],$firma);
      
$i++;
       }
   }
   
mysql_close($link);
?>
Pie de la Pagina
<div class="noprint">
   <hr><br>
<? include("../include/footer.php"?>
</div>
alguien que me pueda ayudar u orientar de como hacerlo?

de antemano muchas Gracias!!

Saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #2 (permalink)  
Antiguo 02/04/2013, 16:41
Avatar de jpurizaca  
Fecha de Ingreso: marzo-2012
Mensajes: 19
Antigüedad: 12 años, 1 mes
Puntos: 3
Respuesta: como hacer centrar una imagen en cada hoja?

seria bueno que trabajes con fpdf para hacer esto poner lo que quieras al inicio y al final de la pagina y tambien permite poner una imagen en el centro tipo Marca de agua ( ejemplo: http://www.fpdf.org/es/tutorial/tuto2.php).
lo puedes bajar de aqui http://www.fpdf.org/es/download.php
  #3 (permalink)  
Antiguo 02/04/2013, 20:00
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años
Puntos: 23
Respuesta: como hacer centrar una imagen en cada hoja?

Buenas

Gracias por la sugerencia pero no puede ser pdf, ese es mi problema...

de todas maneras la sugerencia es buena... aunque a mi no me sirve...

saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 03/04/2013, 02:36
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: como hacer centrar una imagen en cada hoja?

Supongo que será cosa del CSS.

Se que se puede hacer el fondo dinámico y que ocupe el 100% de la pantalla así:

Código CSS:
Ver original
  1. .bodywallpaper{left:0px;width:100%;height:100%;position:absolute;z-index:-1;}

y en HTML:

Código HTML:
Ver original
  1. <img class="bodywallpaper" ... />
  2. <!--el resto-->
  3. </body>

Entonces, quizás jugando con el width, height y la propiedad margin de CSS consigues algo.

Con margin, para que algo quede centrado verticalmente:

Código CSS:
Ver original
  1. .verticalalign{margin-left:auto;margin-right:auto;}

A ver si te ayuda y tienes suerte!
  #5 (permalink)  
Antiguo 03/04/2013, 05:41
 
Fecha de Ingreso: abril-2013
Ubicación: Sevilla
Mensajes: 23
Antigüedad: 11 años
Puntos: 0
Respuesta: como hacer centrar una imagen en cada hoja?

Hola
No se si te servira la anterior solucion, en caso negativo puedo decirte una manera a ver que tal. Eso si, esa imagen central no puede ir de fondo porque como has descubierto las impresiones del navegador no imprimen por defecto los fondos. Si la quieres, vas a tener que currarte la maquetacion un poco mas y con suerte lo conseguiras aunque nunca lo he hecho...

mi solucion es la siguiente:

Código PHP:

for( LOQUESEA ){


if(isset(
$rompe)){
    echo 
'<div style="page-break-before: always;"><img src="imagenes/transparente.gif" style="width:1px;" /></div>';
}else{
    echo 
'<img src="imagenes/transparente.gif" style="width:1px;" />';
}

// se monta el html como sea, pero la cuestion es establecer una imagen de cabecera para la hoja a imprimir
<table width="680" border="0" align="center" cellpadding="0" cellspacing="0">
    <
tr>
        <
td width="680"><img src="imagenes/logo.jpg" alt=""  border="0" /></td>
    </
tr>
etc....................
</
table>

// y al final del bucle
$rompe 1

lo que te quiero mostrar:
· Fijate que en lugar de background-imagen, establezco la cabecera como una imagen. Esa si la imprimirá.
· Fijate tambien que crea una tabla por cada pagina, no una continuacion de tr td infinita pagina a pagina.
· Por ultimo, mira el codigo que hace que en la impresion tome una nueva hoja, esta supeditado a $rompe que se declara a 1 al final de cada pasada, lo que hará que siempre añada X registros y cambie al folio siguiente, donde montará otra cabecera. He añadido un gif transparente dentro del div de salto de pagina por problemas de compatibilidad con algun navegador al dejar el div vacio.

Con esto vas a consegir una hoja con cabecera y los registros abajo.
Ahora bien, para el fondo tipo marca de agua corpoativa supongo que puede intentar jugar con los z-index y los position, porque supongo que debe admitir que se escriba encima de ella y debe ser una imagen y no un fondo, si dejas abajo la imagen y encima la tabla/div con el contenido puede que te funcione.

espero te sirva al menos como guia. Suerte!
un saludo

Etiquetas: cada, mysql, select
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 00:44.