Programación basica con php (listado con fpdf)


En esta ocasión elaboraremos un listado de personal con ayuda de la librería fpdf

El objetivo es obtener un listado en forma de tabla con cuadricula, que quedara de la siguiente forma:

En este caso no hay ningun html que mande algun dato para la elaboración del reporte, ya que se trata de un simple listado total y lo importante es mostrar la tabla.

Bien el codigo a utilizar es el siguiente:

Para la creación de este reporte observe que hacemos una consulta en donde la clausula “where” no esta presente, lo que indica que se extraerán todos los registros de la tabla.

Una  vez que extraemos los datos comenzamos a construir el reporte, en la linea del AddPage observe que estamos usando una hoja tamaño carta con orientación vertical, creamos un titulo con la instrucción “Cell” y después de dejar una linea en blanco con “Ln” comenzamos a crear el encabezado de la tabla con las instrucciones:

Como puede ver se reduce el tamaño de la letra con “SetFont” y observe que los “cell” que crean el encabezado de la tabla son iguales en sus parámetros, menos el ultimo, recordemos que después del texto entre comillas sigue el indicador de borde que puede ser 1 para que se muestre el borde y 0 sin borde, y después esta el indicador de escritura, el cual ponemos en cero para indicar que la siguiente instrucción cell que se ejecuta continuara desde esa posición y 1 para indicar que se hara un salto de linea.

Solo el ultimo cell del grupo tiene el valor mencionado en 1 para que todos los cuadros del encabezado se escriban en la misma linea y después de salte a la siguiente linea.

En la siguiente sección del código observe el uso de la variable $k para contar cuantas lineas se han colocado en el reporte y una vez que se llega al limite se agrega la nueva hoja y se imprime el encabezado nuevamente.

Si no hiciéramos esto y llegaramos al limite que entra en la pagina, automáticamente se creara la siguiente pagina pero no contendría el encabezado de la pagina y de la tabla.

Como últimamente ha estado fallando el sitio oficial del fpdf les dejo este enlace para que descarguen la librería

http://dl.dropbox.com/u/26498694/fpdf.zip

Y este es el enlace para descargar los ejemplos completos y ya integrados al menu

http://dl.dropbox.com/u/26498694/completo%20y%20dos%20reportes.rar

Anuncios

Acerca de sistemasumma

Blog dedicado a la tecnología y a todos los estudiantes de sistemas, informatica, computación y afines
Esta entrada fue publicada en Lenguajes de aplicaciones y etiquetada , , , , . Guarda el enlace permanente.

19 respuestas a Programación basica con php (listado con fpdf)

  1. javi dijo:

    como autoenumerar los registros encontrados por ejemplo si hay tres registros sea 1-2-3
    que en cada consulta se autoenumere lo hice con este for ($i=0; $i<$numfilas; $i++) xq asi me funciona en una pgina pero aki en el pdf no funciona

    Me gusta

  2. Aide dijo:

    Y como puedo poner la tabla en modo horizontal?…

    Me gusta

  3. cielo dijo:

    Hola tengo una duda con esta libreria cuantas hojas puedo generar como maximo ya que tengo que generar mas 150 hojas en un solo archivo pdf y no se si esta libreria soportara esta cantiidad de hojas??

    Me gusta

  4. leydi dijo:

    por ejemplo si quiero imprimir un recipe medico en una hoja los medicamentos y en otra las indicaciones???

    Me gusta

  5. Saludos, estoy iniciándome en php y fpdf, quisiera plantear mi inquietud, para ver si puede brindarme algún aporte.
    Sucede lo siguiente, estoy haciendo un reporte en donde coloque la funcion de tabla con bordes redondeados, al cual le asigne un color… se llena por completo la celda redondeada, ahora bien, dentro de esa celda, la cual le asigne un tamano de una hoja tipo carta, es decir que cubre toda la hoja, le coloque otra celda adentro con datos aleatorios, sin ningun problema muestra lo que deseo. Pero me muestra el mismo color la celda con el texto, existe laposibilidad de cambiar el color de una celda dentro de otra celda…?

    Esperando si apoyo, que este bien.

    Me gusta

    • sistemasumma dijo:

      Claro que si,suponemos que tu pregunta esta en razón de FPDF, así que si es posible, por lo que nos dices, tienes una celda mas o menos así.

      pdf->cell(18,21,’celda hoja’,1,1,’C’,’true’);

      siendo que el ‘true’ indica si se debe rellenar o no la celda.

      para que tu siguiente celda se rellene, primero deberás invocar a
      pdf->SetFillColor(200,0,0);

      en donde los tres números son la combinación RGB del color de relleno que desees y después dibujar la siguiente celda.

      pdf->cell(5,5,’celda de otro color’,1,1,’C’,’true’);

      si quieres otra celda de otro color, vuelves a llamar a setfillcolor, suponiendo con:

      pdf->SetFillColor(0,250,0);
      y dibujar la siguiente celda.

      Cada que desees una celda de otro color llamas a setfillcolor antes de dibujarla, esperamos te sirva

      Me gusta

  6. Anónimo dijo:

    buenas tardes ing. espero su pronta respuesta gracias

    Me gusta

  7. Anónimo dijo:

    ing. tengo tres dudas, como hago para cambiar el color de las celdas, lo estoy haciendo con SetFillColor pero no hace nada, y la otra consulta es, que al hacer la consulta a la base de datos el codigo me la muestra en el pdf sin problema, pero si el campo consultado a la base de datos tiene un texto largo y sobre pasa las medidas del campo en el pdf, el texto sale descuadrado, como hacer para que automaticamente las celdas del pdf se adapten al resultado de las consultas, y por ultimo yo tengo una pagina index y tengo un enlace que me lleva al pdf, y como hago para que la pagina del pdf me devuelva a la pagina index … gracias espero su respuesta

    Me gusta

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s