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





He querido descargar los ejemplos pero el link no sirve, podrías arreglarlo por favor?
Me gustaMe gusta
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 gustaMe gusta
Y como puedo poner la tabla en modo horizontal?…
Me gustaMe gusta
PERDON VERTICAL… POR FAVOR
Me gustaMe gusta
Es lo mismo, pones la pagina en vertical y de ahi construyes tu tabla
Me gustaMe gusta
solo debes cambiar la orientación de la pagina, en el AddPage, le pones ‘L’ para que la pagina sea apaisada u horizontal
Me gustaMe gusta
Gracias esa no me la sabia 🙂 apenas estoy entrando en el tema de FPDF y me esta costando entender le…. lo que quiero hacer es lo siguiente….
====>Tabla normal
| Clave | Nombre |
| 0012 | Pedro |
====>Tabla que quiero
| Clave | 0012 |
| Nombre | Pedro |
Que tan difícil es conseguirla…. ya use los valores de
$pdf->Cell(60,12,$registro[0],1,0,’C’);
para cambias la posición pero párese que me lo mantiene en una sola columna…
oh en donde puedo leer para conseguir ese objetivo, porfavor…
Me gustaMe gusta
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 gustaMe gusta
No sabemos que haya algún límite al numero de páginas, mas bien depende de la capacidad del servidor y de la velocidad de conexión, lo que puedes hacer es que el Pdf se cree como un archivo directo en el servidor y generar el enlace para descarga del mismo, así podrás generar archivos grandes sin problemas
Me gustaMe gusta
una pregunta y como genero el pdf del lado del servidor, de antemano muchas gracias.
Me gustaMe gusta
En la sentencia output de fpdf puedes indicar que el contenido del PDF se vacíe en un archivo y ese archivo queda en el servidor
Me gustaMe gusta
por ejemplo si quiero imprimir un recipe medico en una hoja los medicamentos y en otra las indicaciones???
Me gustaMe gusta
solo agregas un addnew cuando termines de hacer la prescripción, eso agrega una hoja nueva
Me gustaMe gusta
Holaaa muchas graciassss 🙂 me funcionooo, no se me hubiese ocurridooo.. :). es posible que una pagina horizontal yo la pueda dividir en dos por ejemplo: el formato del recipe es el siguiente, en una pagina horizontal los medicamentos o preescripcion en la mitad y en la otra las indicaciones no se si me explique
Me gustaMe gusta
Si es posible, peor para eso tendrias que emplear una tabla para dividir y escribir en cada celda de la tabla
Me gustaMe gusta
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 gustaMe gusta
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 gustaMe gusta
buenas tardes ing. espero su pronta respuesta gracias
Me gustaMe gusta
disculpa la tardanza, tu respuesta esta en este post http://wp.me/p11QWL-Hj
Me gustaMe gusta
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 gustaMe gusta