El presente ejemplo explica como generar un reporte en PDF extrayendo datos de MySQL utilizando PHP. Este ejemplo lo hacemos aprovechando el post anterior en el cual explicábamos como obtener datos de base de datos MySQL. Para la generación de PDF utilizaremos la clase R&OS: pdf class de la cual ya hemos comentado en Generar PDF con PHP.

Crear el documento PDF
Lo primero es crear una instancia para la creación del documento PDF, para ello incluimos la librería class.ezpdf.php, luego creamos una variable del tipo Cezpdf en donde definimos el tipo de papel A4, luego definimos la fuente y los margenes.
- require_once('class.ezpdf.php');
- $pdf =& new Cezpdf('a4');
- $pdf->selectFont('../fonts/courier.afm');
- $pdf->ezSetCmMargins(1,1,1.5,1.5);
Obtenemos los registros desde MySQL
Ahora procedemos a extraer los registros de nuestra base de datos, en este caso solo obtenemos el nombre, dirección y telefono de la tabla empresa de nuestra base de datos.
- $queEmp = "SELECT nombre, direccion, telefono FROM empresa";
Creando el array de datos, títulos y opciones
A continuación procedemos a crear matrices que luego utilizaremos en la creación de nuestro PDF, en el caso que deseemos incluir una tabla con con datos debemos crear una matriz con estos datos, en nuestro caso asignamos los resultados de la consulta y le agregamos un campo adicional con un numero correlativo. Lo siguiente es crear la matriz con los nombres de la tabla, en este caso llamamos a esta matriz $titles en donde a cada campo agregado a la matriz de datos le hacemos corresponder un nombre que aparecerá como titulo de la fila. La tercera matriz indica los colores de las celdas, la orientación y el ancho de la tabla.
- $ixx = 0;
- $ixx = $ixx+1;
- }
- 'num'=>'<b>Num</b>',
- 'nombre'=>'<b>Empresa</b>',
- 'direccion'=>'<b>Direccion</b>',
- 'telefono'=>'<b>Telefono</b>'
- );
- 'shadeCol'=>array(0.9,0.9,0.9),
- 'xOrientation'=>'center',
- 'width'=>500
- );
Imprimiendo los Resultados
Una vez que tenemos todos los datos preparados procedemos a generar el PDF con toda la información que deseamos. Iniciamos esto creando un titulo y subtitulo de texto, luego escribimos los resultados de la consulta con la función ezTable a la cual se pasamos los datos, títulos y opciones. Finalmente al final del documento agregamos la fecha y hora de la generación del documento.
- $txttit = "<b>BLOG.UNIJIMPE.NET</b>\n";
- $txttit.= "Ejemplo de PDF con PHP y MYSQL \n";
- $pdf->ezText($txttit, 12);
- $pdf->ezTable($data, $titles, '', $options);
- $pdf->ezText("\n\n\n", 10);
- $pdf->ezStream();
Unimos todos estos bloques y tenemos listo nuestro script para generar reportes en PDF, pueden ver el ejemplo funcionando en php-mysql.php. Para finalizar les dejo los archivos del ejemplo para que lo prueben y modifiquen a sus necesidades.


Comentarios Total 393 comentarios
Publicado: 29/08/2007 11:58 pm
auxilio soy novato y necesito ayuda sobre fpdf para meter una imagen en una celda (no es encabezado y pie de pagina) ademas cambiar el tamaño de la fuente gracias please me urge gracias
Publicado: 31/08/2007 2:51 am
como pongo el encabezado para el pdf y como puedo cambiar el tamaño de la letra que contiene la tabla
Publicado: 12/09/2007 7:24 pm
Por ahora no está sirviendo y no manda ningun error que es lo peor, seguiré tratando que está malo
Publicado: 12/09/2007 9:05 pm
ahora me sale este error:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘Resource id #8′ at line 1
ayuda por favor
Publicado: 12/09/2007 9:08 pm
este es el codigo:
## creo una instancia
include_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘../fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//realizo la conexion
require (‘connectionRoot.php’);
$queEmp = mysql_query(“SELECT nombre, apellido, ocupacion, nombreUsua FROM usuarios_blog”) or die(“Error al intentar Generar el reporte de Usuarios”);
$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Nombre de Usuario‘,
‘direccion’=>’Apellido‘,
‘telefono’=>’Ocupación‘,
‘nombreUsua’=>’Mail‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Publicado: 13/09/2007 9:22 am
El problema es que en la variable donde debe estar el la consulta a la base de datos esta erronea:
$queEmp = mysql_query("SELECT nombre, apellido, ocupacion, nombreUsua FROM usuarios_blog") or die("Error al intentar Generar el reporte de Usuarios");$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
Debes reemplazarla por:
$queEmp = "SELECT nombre, apellido, ocupacion, nombreUsua FROM usuarios_blog";$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
Saludos
Publicado: 19/09/2007 8:44 pm
unijimpe eres un maestro man gracias y saludos desde colombia
Publicado: 21/09/2007 6:35 am
no soy muy experto en esto, pero me interesa el aporte, quien podria mandarme los archivos correctos?
enviar a sergioaguayo@prodigy.net.mx
Gracias
Publicado: 22/09/2007 2:01 am
las dos formas son correctas la primra opcion es mas abreviada nada mas, solo deberias quetarle esta linea.
$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
ya que ya la estas usando en la primeras lineas, el codigo esta bien solo hay reduncancia de envios suerte
Publicado: 22/09/2007 5:10 am
ola el codigo me corre perfectamente, pero tengo una curiosidad, el pdf me sale en forma vertical, como puedo hacer para hacerlo horizontal, espero me ayuden gracias.
Publicado: 22/09/2007 9:45 am
Hola, para asignar la orientación, esta se puede definir al inicializar el pdf, esto de la forma:
$pdf =& new Cezpdf(orientation='portrait');$pdf =& new Cezpdf(orientation='landscape');
Publicado: 24/09/2007 10:05 pm
Gracias mano, se te lo agradece ahora si me lo corre bien :D, mas bien no tendrán por ahí un código para pasarlo al excel :D
Publicado: 29/09/2007 9:44 pm
Hola necesito su ayuda por favor hago todo lo que dice y me sale el pdf pero sin la informaci[on de la base, este es mi c[odigo
selectFont('pdf/fonts/Courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect("localhost", "root", "");
mysql_select_db("sistema de elecciones", $conexion);
$queEmp = "SELECT LIST_NOM as a, LIST_NUM as b FROM LISTAS";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’No.‘,
‘numERO’=>’NUMERO‘,
‘nombre’=>’LISTA‘,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “REPORTE DE LISTAS\n”;
$txttit.= “SISTEMA DE ELECCION DE DIGNIDADES \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 29/09/2007 10:22 pm
El problema es que los campos de tu consulta no corresponden con los campos agregados es la tabla. Tu consulta obtiene los campos a y b:
$queEmp = "SELECT LIST_NOM as a, LIST_NUM as b FROM LISTAS";Pero en tu tabla tu agregas los campos: numERO y nombre.
$titles = array(‘num’=>’No.‘,
‘numERO’=>’NUMERO‘,
‘nombre’=>’LISTA‘,
);
Estos datos deben corresponder para que funcione correctamente.
Publicado: 29/09/2007 10:41 pm
sii ya me salio no relacione esa parte muchas gracias!!!
Publicado: 03/10/2007 2:34 pm
Hola…
Puse este código:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“nuke”, $conexion);
$queEmp = “SELECT catid, title, hometext FROM nuke_stories WHERE (catid=’1′)”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘catid’=>’Catid‘,
‘title’=>’Título‘,
‘hometext’=>’Hometext‘,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “VALORYEMPRESA\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
y me salen códigos raros como estos:
%PDF-1.3 %âãÏÓ 1 0 obj > endobj 2 0 obj > endobj 3 0 obj > /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj > endobj 6 0 obj > endobj 7 0 obj > stream xœµ“ÁjÂ@E÷ùŠ»¬›É{3I&“ÒDJc —¢Ñ”ÚTwýû¦ RKƒn†™Ëܳ8p½Q‰@«Pbf;B¹Ÿµj®[àéu8})
¿Sabéis a qué se debe?
Gracias!
Publicado: 05/10/2007 1:05 am
ole,
me ha sido de mucha ayuda tu script, te lo agradezco. Quería comentarte dos cosas:
1. Por alguna razón me sale:
Parse error: syntax error, unexpected ‘=’
al insertar el código q pusiste para la orientación de la página.
2. Hay una manera de ajustar el ancho de las columnas?. Cómo lo hace por defecto?
Reitero mis agradecimientos…
Juan David
Publicado: 07/10/2007 2:07 am
Hola muy bueno el tutorial, pero nose porque pero si la consulta me genera que se yo 100 registros o mas creo como q para que de mas de 2 hojas, el pdf me queda corrupto no lo abre.
y otra cosa, esto no me funciona.
$pdf =& new Cezpdf(orientation=’landscape’);
me da este error:
Parse error: parse error, unexpected ‘=’ in D:\DESARROLLO\EASYPHP\localhost\www\selectnator\selectnator.php
Bueno de todas maneras ta muy bueno el tutorial :)
Publicado: 12/10/2007 10:01 pm
Como puedo incluir una imagen en el reporte? por ejemplo un logo?
Publicado: 13/10/2007 2:24 am
Hola, una pregunta, los titles, del arreglo deben ser iguales a los nombres de las columnas de la tabla?
Gracias
Publicado: 13/10/2007 7:11 am
Oswal, no es necesario que sean los mismos pero si es requisitos que sean en la misma cantidad, por ejemplo si en tu consulta extraes 5 columnas entonces en el array titles debes poner 5 campos.
Publicado: 17/10/2007 2:07 am
Excelente forma para crar archivos en pdf, ahora estoy tratando de ponerle un nivel de seguridad que haga que nada mas puedan imprimir una sola vez el PDF.
Publicado: 25/10/2007 11:17 pm
alguien sabe donde c ponen los archivos de class.ezpdf.php… etc ya los puc en usr/share/php5 en Pear pero m sigue mandando un error como este:
Warning: include_once(class.ezpdf.php) [function.include-once]: failed to open stream: No such file or directory in /var/www/sysidata_control/admon/ejemplo1.php on line 3
Warning: include_once() [function.include]: Failed opening ‘class.ezpdf.php’ for inclusion (include_path=’.:/usr/share/php:/usr/share/pear’) in /var/www/sysidata_control/admon/ejemplo1.php on line 3
Ayuuudaaa!!
Publicado: 26/10/2007 3:53 am
Javier:
revisa si tienes instalado el acrobat reader version 4.0 o superior
saludos,
Publicado: 26/10/2007 3:55 am
J_uan_D, Omer Moreno:
la sintaxis correcta es: por ejemplo para configurar con tamaño carta Y en landscape:
$pdf =& new Cezpdf(‘letter’,'landscape’);
saludos,
Publicado: 26/10/2007 3:58 am
katy:
para poner una imagen
$pdf->addJpegFromFile(nombre_de_archivo,x,y,ancho,[opcional alto de imagen]);
ejemplo, ponemos la imagen logo7.jpg, en la posicion 20, 540, y que tenga un ancho de 100 pixeles
$pdf->addJpegFromFile(‘logo7.jpg’,20,540,100);
ojo: la posición de la imagen es contada desde la esquina inferior izquierda.
saludos,
Publicado: 30/10/2007 3:19 pm
Hola soy un principiante y cuando quiero generar el pdf, me sale un mensage del acrobat diciendome que el archivo está corrupto y que no se puede abir, hago algo mal? he copiado el ejemplo tal cual y nada…
no se que puedo hacerrr
Publicado: 01/11/2007 3:42 am
hola he intentado hacerlo pero me sale este error:
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\salud1\class\DB_MySQL.class.php:3) in C:\wamp\www\salud1\paginas\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\salud1\class\DB_MySQL.class.php:3) in C:\wamp\www\salud1\paginas\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\salud1\class\DB_MySQL.class.php:3) in C:\wamp\www\salud1\paginas\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj > endobj 2 0 obj > endobj 3 0 obj > >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj > endobj 6 0 obj > endobj 7 0 obj > stream xœ}QANÃ0¼÷{„Ëv×±½vnT$mP[RލM)%P $~ ¤ªËe%wÆ3ãÁ¨Ð(ñ‰T+æ¬ Zœ¦×c¼›WŬÌpžUçPm!«=®ÓÈÚs³m½{}n`UCy™Ã²yrRÂ’ÌîoSˆ( ¡ýpB”‚þÜ?зǿy3n Æ¢°þõB—ùû®÷;…Ú»Óëûåæé£9°hЊ?M)VÝö[Äe°B¶Ù#y †~B±AcÃB ëyÖ z‰ó‹^‹VZÛµØÃ S7AIGp w> endobj 9 0 obj > stream xœ=OÃ0†÷üŠa9lç;cQ‰ö*(¨$D¢?CêbR[e¹áÕs÷>ºäÚ�)̈J5æŒÀ4puÃ3d`:€~ æJ“X–k”ë8¼éúm¿iÆœö“·HBb¦òÿµ8#‘bJV„ŒbpݾO}××V wÃKÈ)¶šœ˜B¥Ï°G§¼ÚýhÚzèë‘ã®éBV±e:µÊrBœaU¾¯Š§» ªç²Xå›±ˆE÷¥ƒmÂøóñ6á𙘟¨ Eð‡ Ó slaýÃq¥æA—,Ilþ–wrN–¤> startxref 1311 %%EOF
porfis ayuda
Publicado: 01/11/2007 3:49 am
hola ya resolvi mi problema eran mis clases solo cambie require_once(“../class/config.php”);
require_once(“../class/DB_MySQL.class.php”); //Incluimos la clase para las consultas
$miconexion = new DB_MySQL;
$miconexion->conectar($dbase, $host, $user, $password);
por esto:
$conexion = mysql_connect(“localhost”, “usuario”, “contraseña”);
mysql_select_db(“salud”, $conexion);
ahora necesito agregar una imagen al pdf. ayuda
Publicado: 07/11/2007 11:35 am
La verdad es que lo probé y anda bàrbaro, lo unico que no puedo lograr es mostrar las fechas obtenidas de la tabla mysql en formato dia-mes-anio.
Alguien me puede ayudar?
Gracias desde ya.
Publicado: 07/11/2007 5:18 pm
una pregunta como puedo poner la misma imagen en varias hojas espero que me puedan ayudar saludos
Publicado: 09/11/2007 12:06 pm
Tengo un problema y es que la fecha y la hora me aparecen superpuestas y la tabla me aparece miniaturizada sin los datos que supuestamente la consulta realiza, alguna sugerencia ?
Gracias
Publicado: 18/11/2007 11:11 am
Muchas gracias Jose Luis me funciono!!!
Publicado: 20/11/2007 7:43 am
Me puedo justificar un texto.
Publicado: 20/11/2007 7:49 am
Hola la verdad es que no he podido justificar en texto, he cambiado las font, el texto lo he puesto en eztable, eztext, con justificación ful etc. alguien me puede decir si se puedo no, sino para buscar otra alternativa
Publicado: 27/11/2007 9:25 am
amigos sigo con el problema que no me aparece nada. Cambie los campos en la consulta, la BD, ya no se que hacer, les dejo el codigo… que alguien me ayude por favor
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”);
mysql_select_db(“audit_db”, $conexion);
$queEmp = “SELECT NumControl, DescControl, ObjControl
FROM controles ORDER BY NumControl ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘NumControl’=>’NumControl‘,
‘DescControl’=>’Descripción del Control‘,
‘ObjControl’=>’Objetivo del Control‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 27/11/2007 9:58 am
como se si mi version php soporta pdf? tengo instalado phptriad
Publicado: 27/11/2007 2:41 pm
Todo perfecto, a excepcion de poner un logo jpg en la esquina superior izquierda. Mi codigo es:
$pdf->addJpegFromFile(‘../images/Logo.jpg’,100,100,100);
pero no sale nada.
Alguna ayudita ?
Gracias de antemano.
Publicado: 27/11/2007 7:17 pm
se puede diseñar otro tipo de tabla por ejemplo que en la primera fila tenga dos columnas y en la siguiente fila tenga tres o algo asi?
Publicado: 29/11/2007 10:02 am
Excelente el articulo,tutorial, como quieran llamarlo.
Como aporte, si es que les sirve a alguien:
1. tenia instalado phptriad y no hacia nada. Me cambie a appServ y perfecto!!
hechenle una mirada a el archivo class.ezpdf.php ahi pueden encontrar opciones para los tamaño de letras
Publicado: 29/11/2007 1:38 pm
¿Para q’ resulte la importacion de archivos, hay q’ crear un formulario? eso quiero saber, gracias?
Publicado: 30/11/2007 4:36 pm
Que tal amigos programadores, tengo un pequeño inconveniente.. Quisiera saber si alguien sabe como arreglar la tabla que genera automaticamente si la tomo de la base de datos ya que sale centrada y cuando solo tienen 2 campos se ve vacio el reporte..le agradeceria si alguien sabe hacerlo me lo hagan saber este es mi correo premiun83@hotmail.com
Publicado: 06/12/2007 12:47 pm
como puedo mostrar la tabla en forma horizontal?
Publicado: 10/12/2007 1:21 pm
Hola unijimpe mi problema es: quiero que despues de imprimir la tabla debajo de ella aparezca un texto con la frase TOTAL y a un lado el resultado que proviene de un campo de otra tabla, lo que no consigo es poner este texto y el resultado en la misma linea(Ejemplo: “TOTAL: 3600″), ya que me aparece el TOTAL en una linea y el valor en la siguiente (No estoy usando encabezados en el campo del valor), no empleo el Xpos por que
este texto no tiene una posición específica, quiero que aparezca hasta que se impriman todos los registros de la tabla y, la cantidad de estos pueden variar. Te agradesco mucho de antemano tu ayuda.
Publicado: 11/12/2007 4:29 pm
Encontre la respuesta a mi pregunta anterior, aquí se las dejo para quien le sea de utilidad, lo consegui de la siguiente forma:
$pdf->ezText(“TOTAL:“,8);
$pdf->ezSetDy(10);
$pdf->ezTable($data,$titles, ”,$options);
Publicado: 14/12/2007 5:19 am
Pues yo he observado que me funciona a la perfección con el Adobe reader 7, pero no con la versión 8 que no pinta nada y el ADOBE acrobat 6 me dice que el fichero esta dañado.
¿Alguien sabe por qué?.
Gracias.
Publicado: 26/12/2007 11:38 am
lyla tengo el mismo error me puedes explicar como lo solucionaste soy nuevo en esto
Publicado: 28/12/2007 7:46 am
HOLA! a mi se me presento el siguiente problema: –cuando montaba el script y lo ponia a correr en mi aplicación, me decia que la fuente no se encontraba en el directorio de recursos y se sustituira por helvica.—
Si a alguien se le presenta ese mismo error lo que tiene que hacer es extraer todos los archivos del .zip que se descarga, y este proceso saca una carpeta fonts y como tres archivos mas, se debe copiar la carpeta fonts en la carpeta donde estan todas las paginas de tu aplicacion y luego poner a correr todo de nuevo…asi el error desaparece y se podra observa el pdf….espero que a alquien le sirva…chaoss
Publicado: 07/01/2008 1:27 pm
AYUDA PORFAVOR¡¡¡¡
ESTOY HACIENDO MIS PRACTICAS PROFESIONALES Y SI NO TERMINO ESTE SISTEMA NO ME TITULO….. Y LO QUE ME FALTA ES GENERAR REPORTES EN PDF…
CUANDO VI ESTA PAGINA PENSE YA TENIA EL PROBLEMA SOLUCIONADO.. PERO NO… YA CAMBIE LA BASE DE DATOS, LA TABLA.. PEOR ME SALE ESTO:
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœm?oÂ@ Gw>Åo¤‹c_îâKFÔ¤Pñ’ˆc`¬ U… ©ºõÛCAH ¼>ËÏ~ƒQ‚wCËH,i‡¬ˆ#Fú†£éâÖóÉûdÖÖ4¯Ó ÒuÜíFOâ‹çÝzß~¾{ì:´¯ ¶ýí¸Åf›Õr äLNý¿é‘‡H*÷J ž ¥Á’Î ~þÙ_ï^ øVÐtÛ¯êòèã¬K昣‘ÁL¥ºqÿkÛÄU,Un¸ŠXRn$ª¤·Ä¾Wdá endstream endobj 8 0 obj <> endobj xref 0 9 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000477 00000 n 0000000750 00000 n trailer <> startxref 857 %%EOF
PORFA AYUDENME URGE… GRACIAS
Publicado: 09/01/2008 3:08 pm
hola kisiera saber si se puede k la infomacion k aparece en al siguiente pagina en la parte del centro se puede enviar tal como esta en pdf los encabezados son etiquetas y la informacion k despliega son consultas a una base de datos mysql se puede por fis si me dicen como se los agradecere infinitamente
http://www.bitacoraordenamiento.yucatan.gob.mx/bitacora/ugas.php?IdUga=11
kiero k esa informacion este en un pdf pa k el usuario imprima dixa informacion o ay alguna otra manera de realizarlo??
Publicado: 10/01/2008 3:55 pm
a ver necesito colocar encabezados. es decir una imagen por si la data excede el tamaño de una hoja. normalmente se crea la segunda, pero sin el encabezado o la imgen que tengo por emcabezado en la primera. COMO HAGO ESO please!!!…
Publicado: 11/01/2008 3:38 pm
Hola, he trabajado con estos ejemplos y los eh utilizado con mi base de datos con mucho exito, solo un problema, como puedo cambiar el tamaño de letra que contiene la tabla gracias
Publicado: 14/01/2008 6:39 pm
me sale lo siguiente no se cual sea el motivo me podrian ayudar en este embrollo
la salida que obtengo es la siguiente
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœ}QËR1¼ïWÌQ/ÃL6¯åH± endobj 9 0 obj <> stream xœ}ÍNÃ0„ïyŠ9ÂÅxíÍ&¾”wð DMе ªiy}ùÁ q/>Œ¾Ï;“=zp¡„5 [*§¾ÆÃ3´Òð{àŽîá;%+2ÿW3OôbZö*ùg77Šåê·)™ ŠD?ýü{é¢ endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000000868 00000 n 0000000975 00000 n trailer <> startxref 1296 %%EOF
Publicado: 22/01/2008 6:33 am
hola a todos,
me funciona el ejemplo de maravilla en esayphp1.8
pero en easyphp2.01b salen textos con signos extraños.
existen unas clases para este nuevo php+mysql ???
gracias
Publicado: 28/01/2008 2:36 pm
Me funciono de maravilla, pero ahora necesito cambiar el formato del PDF, ok, les explico…..
Estoy trabajando en un proyecto para darle su estado de cuenta a mis clientes por medio de una pagina web, entonces tengo una plantilla en php donde le pide el ID del cliente….una vez puesto el ID, este hace un SELECT a mi base de datos y trae los resultados los cuales serian (No.Cliente, Saldo Actual, Minimo a pagar, Fecha Limite de Pago, etc..) Lo que me intereza saber es como puedo modificar el archivo “class.ezpdf”, para poder hacer una plantilla diferente
??… no se si me explico…espero que me puedan ayudar.
Publicado: 28/01/2008 9:08 pm
Muy buena herramienta, muy interesante. Pero tengo un problema, cuando saco datos de mi base de datos en el PDF generado los acentos salen como signos raros. Alguna idea?
gracias
Publicado: 29/01/2008 12:11 am
como podria imprimir sobre un diseño de hoja en pdf?? es tipo un diploma que ya tengo pero quiero que cada uno lo imprima en su casa y ya salga el diseño…. existe algun metodo para que no imprima sobre un documento pdf en blanco si no sobre uno diseñado??
Muchas gracias
Publicado: 29/01/2008 3:25 pm
Esperemos que algun alma de Dios nos responda :)
Publicado: 29/01/2008 5:17 pm
ya estuve buscando documentacion, entrando a mas foros pero no hay nada claro mas que una opcionpara agregar imagen tipo jpg png o gif pero no se explica muy bien su uso…. aver si nos quieren responder….
Publicado: 30/01/2008 10:09 pm
Para los visitantes que desean implementar PDFs basados en un diseño previo, pueden utilizar una imagen que contenga el diseño deseado como fondo y sobre el escribir el contenido deseado.
Si desean aprender mas de este tema pueden revisar: http://blog.unijimpe.net/pdfs-con-fondo-utilizando-php/
Publicado: 31/01/2008 12:16 pm
Sigo sin poder poner acentos en el PDF, y me doy cuenta que en el ejemplo de la tabla, puso los acentos sin problemas, alguna idea? tal vez sea configuración de la base de datos o algo por el estilo, por favor ayuda!! :D
Publicado: 01/02/2008 2:05 am
hola que tal:
para los que tengan este problema:
%PDF-1.3 %âãÏÓ 1 0 obj endobj 2 0 obj endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj endobj 6 0 obj endobj 7 0 obj stream xœ}QËR1¼ïWÌQ/ÃL6¯åH± endobj 9 0 obj stream xœ}ÍNÃ0„ïyŠ9ÂÅxíÍ&¾”wð DMе ªiy}ùÁ q/>Œ¾Ï;“=zp¡„5 [*§¾ÆÃ3´Òð{àŽîá;%+2ÿW3OôbZö*ùg77Šåê·)™ ŠD?ýü{é¢ endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n
se “soluciona” utilizando un explorador diferente al IE, ya sea mozilla u otro, (sigo en buskeda para el cochino IE)
ALGUIEN sabe por ke no puedo agregarmas de una imagen y ke no pese mas de 7kb.. el caso es ke tengo tres imagenes ke poner pero son mayor de 7 kb, (no me deja ) si solo pongo una, tengo que bajar la calidad hasta ke pese 6kb.. ke raiiooss!!!
ayuda pls..
aahhh, saben por ke no me jala
$pdf->ezText(“Fecha: “.date(“d/m/Y”),10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”,10);
saludos
Publicado: 01/02/2008 2:07 am
ESPERO Y EL POST ANTERIOR LO LEA OSITA.. SE VEIA DESEPERADA… je
Publicado: 04/02/2008 10:35 am
MUCHAS GRACIAS REALICE LA SALIDA DE REGISTRO DE LA BASE DE DATOS DE LA EXPLICACION AHORA SIGO CON MI PROYECTO DE GRADO DE TECNOLOGO ¿ LA CONEXION A UNA BASE DE DATOS CON SU RESPECTIVA PAGINA WEB PERO REALIZADA CON DREAMWEAVER LA CONEXION A LA BASE DE DATOS ES LO MISMO ? ¡ESPERO QUE SI!
Publicado: 05/02/2008 11:21 am
Cuando quiero insertar texto con acentos o ñ’s me aparecen caracteres raros? alguna idea? por favor me esta volviendo loco esto..
GRacias por cualquier aporte
Publicado: 08/02/2008 8:52 am
Hola necesito saber como en un mismo documento de PDF intercalar la orientacion de las paginas, es decir, que un mismo documento tener paginas con orientacion vertical u horizontal.
Publicado: 09/02/2008 6:43 am
Si te salen signos raros, comprueba que la ruta es la correcta en la siguiente línea:
$pdf->selectFont(‘fonts/courier.afm’);
Publicado: 12/02/2008 1:14 pm
Hola
excelente el ejemplo y la explicación, lo estoy poniendo en practica, hay alguna forma que en unos de los campos al tener nombres de archivos *.jpg me muestre la imagen, que tengo guardada en el servidor ,en una de las 3 columnas
saludos
gracias
Publicado: 29/02/2008 12:32 pm
hola necesito una ayuda, estoy realizando una aplicacion, en el momento de enviar el reporte al pdf…me sale codigos extraños..hice lo que esta en el tutorial y nada….ahh donde tengo q ubicar las clases exactamente..los codigos que me aparecen son estos!!
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\ejemplo1\php-mysql.php.php:9) in C:\wamp\www\ejemplo1\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\ejemplo1\php-mysql.php.php:9) in C:\wamp\www\ejemplo1\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at C:\wamp\www\ejemplo1\php-mysql.php.php:9) in C:\wamp\www\ejemplo1\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources <> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœµ‘AOƒ@„ïüŠ9êÞ®PXnA1°âØ´1q©½[#¦¥ML¼¼ÌÎî|ÉÛ1–%ln:œà1fz‚Pn`Å`ÜÔr \…yö=äHó0Hq¡Hƒ,‰“0“> stream xœuÐÁ €0Ð{§`‚Ô˜À»®¡g×·jÐ¶Ø ‡Ÿ~ `DD(ç2‚# ‰cš„(Š"ì` ³ÞÉë#ÙIîHqR:RÔ9b+-q’œ¤N{¾”)UrÉ÷C¹¯Þg‰)*:¾]Eë Y¬N endstream endobj xref 0 9 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000257 00000 n 0000000286 00000 n 0000000391 00000 n 0000000464 00000 n 0000000783 00000 n trailer <> startxref 966 %%EOF
Publicado: 02/03/2008 6:11 pm
podéis indicarme por qué dá el siguiente error, he buscado en internet pero no he visto solución. Gracias.
Fatal error: Class cezpdf: Cannot inherit from undefined class cpdf in /home/cnnhost/public_html/pdf/class.ezpdf.php on line 5
Publicado: 05/03/2008 4:06 am
Estoy usando la libreria R&0s para la generacion de PDF con PHP y me va de maravilla.
Pero ahora el usuario me ha pedido la siguiente petición, no solo quiere que aparezca en imagen, sino q DIRECTAMENTE SE MANDE A LA IMPRESORA.
He estado viendo en foros con la clase FPDF, usando codigo javascript, pero sinceramente, lo estoy intentando equiparar para Cezpdf y no me va y claro, no me gustaria cambiar todo a la clase FPDF si me puedes dar una pista te lo agradeceria.
Muchas gracias.
Publicado: 19/03/2008 7:54 am
se debe de configurar algo en el php.ini para que funcione el codigo al trabajar con pdf?
Publicado: 19/03/2008 2:37 pm
Alguien sabe que función usar para que imprima el número de página.
Publicado: 02/04/2008 5:56 am
Cecil, aunque supongo que ya sabrás como hacerlo, por si las moscas:
$pdf->ezStartPageNumbers(500,18,10,”,’Pagina : {PAGENUM} de {TOTALPAGENUM}’,1);
Prueba, creo que era así…
Publicado: 02/04/2008 6:02 am
Hola!
yo quisiera saber si en vez de $titles = array() podría utilizar otra para que no saliera el resultado de la bbdd siempre debajo, algo así:
Id: 400052
En vez de:
Id:
400052
Vamos, que no salga como título…
Gracias de antemano!!
Publicado: 07/04/2008 2:50 pm
Hola a todos necesito saber como puedo realizar graficos estadisticos y generar informes en pdf desde php
Publicado: 07/04/2008 8:58 pm
Por favor urgente que alguien se apiade de mi,saben como guardar un pdf generado con esta libreria?. Ya se que puede ser una tonteria por que e visto con otras librerias que se genera con una linea de codigo pero por nada hago que funcione con esta y en la red no encuentro nada. Por favor lo necesito urgente.
Publicado: 09/04/2008 2:14 pm
Esta es una respuesta para javo
Tengo un problema y es que la fecha y la hora me aparecen superpuestas y la tabla me aparece miniaturizada sin los datos que supuestamente la consulta realiza, alguna sugerencia ?
Lo que tienes que hacer es copiar la carpeta fonts a tu directorio donde estes trabajando porque si no no se visualiza nada
Publicado: 10/04/2008 2:45 pm
Hola,quisiera saber si alguien me puede ayudar a saber como puedo combinar información de dos arras para imprimirla en un pdf con php
Publicado: 13/04/2008 12:06 am
ya hice todo copie el codigo tal como se indica pero nada me sale el pdf pero no me muetra la informacion inclusive ni los titulos y la hora mi codigo es el siguienteselectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”,”root”,”");
mysql_select_db(“celeste”);
$queEmp = “SELECT nombre, direccion, telefono FROM cliente ORDER BY nombre ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_array($resEmp,MYSQL_ASSOC)) {
$ixx = $ixx+1;
$data[ixx] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Nombre‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit= “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
y ya cheque mis variables por lo cual descarto esa posibilidad
alguien puede ayudarme?
Publicado: 13/04/2008 1:53 am
ya me salio y me sirvio mucho
el codigo mi problema era que no cargue la carpeta de las fuentes
Publicado: 13/04/2008 3:28 pm
me sale el archivo pdf pero sin datos, no me muestra los datos de mi base, alguien podria ayudarme por favor, este es mi codigo:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“demo”,$conexion);
$queEmp =”SELECT nombre, direccion, telefono FROM empresa”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Empresa‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 13/04/2008 3:29 pm
mi base de datos se llama demo y tiene una tabla empresa con los campos nombre direccion y telefono pero no se por q no muestra los datos en el pdf
Publicado: 17/04/2008 10:24 am
hola que tal saludos gracias por toda la informacion que publicas en tu blog estoy recien iniciando para crear reportes en pdf actualmente estoy trabajando en un proyecto de nomina necesito saber si se puede meter una imagen en pdf ya que necesito que los recibos de pago tengan el logo de la empresa manejo con tablas y que me liste los trabajadores por cada pagina pero el tamaño para cuadrar el recibo no es hoja estandar sino por medidas la cuestion es la siguiente si tienes algun ejemplo o pagina que me puedas recomendar mucho te lo agradeceria
Publicado: 26/04/2008 10:05 pm
Hola, hice un formulario de consulta con Dreamweaver y perfecto; el resultado me lo da con una tabla dinámica extrayendo la info de la bd en mysql pero quiero que ese resultado me lo de en pdf. no se como poner tu código a ese archivo para que el resultado salga en pdf. (es una tabla).
Publicado: 28/04/2008 9:14 am
hola amigos use este ejemplo para crear un pdf! mi problema es que la dimencion de algunos campos es muy pequeño como hago para cambiar el tamaño. mas especificamente del campo d_proyecto (quiero q sea mas gran q el resto) aqui les envio mi codigo.. de ante mano agradesco la ayuda q me puedan prestar
ezImage(“guarico.jpg”, ‘none’, 90, ‘none’, ‘left’);
$pdf->ezText(“”);
$pdf->selectFont(‘./Times-Roman.afm’);
$pdf->ezSetCmMargins(2,2,2,2);
$conexion = mysql_connect(“localhost”, “root”, “coplan”);
mysql_select_db(“licitacion”, $conexion);
$queEmp = “SELECT año, num, fon, d_proyecto,m_proyecto, f_1invitacion,f_1acto, info_1, f_2acto,info_2,f_envio, em_ga, mon_ga, respon, esta FROM lic_g”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
//$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$data[] = array_merge($datatmp);
}
$titulo = array(
‘año’=>’Año‘,
‘num’=>’Num‘,
‘fon’=>’Fondo‘,
‘d_proyecto’=>”Descripcion de Proyectoa“,
‘m_proyecto’=>”Monto Disponible“,
‘f_1invitacion’=>”Fecha de\nInvitacion“,
‘f_1acto’=>”Fecha de\n1er Acto “,
‘info_1′=>”Informe\nSobre 1“,
‘f_2acto’=>”Fecha\n2do Acto“,
‘info_2′=>”Informe\nSobre 2“,
‘f_envio’=>”Fecha\nEnvio“,
‘em_ga’=>”Empresa\nGanadora“,
‘mon_ga’=>”Monto Ofertado“,
‘respon’=>”Responsable“,
‘esta’=>”Estatus“,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>750,
//’fontSize’=>10
);
$ti= “Republica Bolivariana de Venezuela “;
$go= “Gobernacion del Estado Guarico“;
$co= “Comision de Contrataciones\n\n”;
$tip=”Concurso Abierto\n\n”;
$pdf->ezText($ti,12,array(‘justification’=>’center’));
$pdf->ezText($go,12,array(‘justification’=>’center’));
$pdf->ezText($co,12,array(‘justification’=>’center’));
$pdf->ezText($tip,14,array(‘justification’=>’center’));
$pdf->ezTable($data, $titulo,” ,$options);
$pdf->ezText(“\nEste documente sin firma y sello de la Comision Tecnica de Licitacion no tiene valides alguna”,5, array(‘justification’=>’center’));
$pdf->ezText(“\nFecha: “.date(“d/m/Y”), 10, 10);
$pdf->ezText(“Hora: “.date(“H:i:s”), 10);
$pdf->ezStream();
?>
Publicado: 28/04/2008 11:18 am
buenas tengo una dudas…. prepare el codigo pero cuando se genera el pdf no me muestra la info obtenida del sql… a ver si me ayudan. Gracias….
Publicado: 28/04/2008 11:19 am
require_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “DATOS”, “DATOS”);
mysql_select_db(“cmit”, $conexion);
$queEmp = “SELECT zona, tipo, interno FROM cmit_matafuegos”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Zona‘,
‘direccion’=>’Tipo‘,
‘telefono’=>’Interno‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Publicado: 29/04/2008 6:42 am
gracias a todos ya encontre el error….
$titles = array(
‘id’=>’Num‘,
‘zona’=>’Zona‘,
‘tipo’=>’Cliente‘,
‘carga’=>’Carga‘,
‘interno’=>’otro campo‘
este aray tiene que tener los nombres q tienen los campos de la tabla1….
Publicado: 01/05/2008 11:46 pm
gracias….muchas gracias
Publicado: 22/05/2008 3:08 pm
hay alguna maner de darle formato a las tablas para que se vea mas presentable??
Publicado: 25/05/2008 3:12 am
Hola que tal, oye disculpa, como podria poner la fecha en español??, tengo un script en php pero no se como integrarlo para que me imprima la fecha en español, es decir 25 de Mayo de 2008, en lugar de 25 de May de 2008?
Gracias
Publicado: 25/05/2008 10:58 am
PHP por defecto trae las fechas en ingles, entonces debes crear un array con los nombres de los meses, por ejemplo:
$ames[1] = "Enero";
...
$ames[12] = "Diciembre";
Luego la fecha la puedes escribir como:
echo date("d").' de '.$ames[date("m")].' de '.date("Y");
Publicado: 30/05/2008 11:27 am
HOla
Super este articuolo, pero tengo un problema, yo trabajo con ubuntu y al ejecutar el .php me muestra en l browser (include_path=’.:/opt/lampp/lib/php’) in Unknown on line 0
no se q hacer
Publicado: 31/05/2008 10:21 pm
Gracias por el articulo me resulto de mucha ayuda, esta realmente bueno.
Por si alguien esta rescatando fechas y desea que se vean en formato español yo lo hice dándole formato al rescatar el valor en Mysql:
SELECT … , DATE_FORMAT(dato_fecha,’%d-%m-%Y’) as dato_fecha FROM …
Lo mismo pueden aplicar al crear Excel desde Php.
Saludos
Publicado: 03/06/2008 2:19 am
Hola, estoy haciendo un sistema de recibos que recoge datos de una base de datos, pero no quero que me lo imprima en una tabla, necesito sacar los datos de la base y colocarlos sin sistema de tabla, es decir, poder ponerlo en las coordenadas del documento donde van los datos del recibo. Un saludo y gracias
Publicado: 03/06/2008 9:15 am
hola que tal de ante mano gracias por el aporte mi pregunta es la siguiente yo entiendo perfectamente la funcionalidad del script pero lo que quiero es aprender a posicionar las imagenes por ejemplo encabezados y pie de pagina en le documento pdf sin mas por siempre Armando jose mesia.
Publicado: 03/06/2008 2:56 pm
Excelente ejemplo.Pero me gustaria almacenar el pdf automaticamente en una carpeta, y poder visualizarlo en mi pag. web.
Saludos.
Publicado: 08/06/2008 6:40 pm
tengo el mismoo problema que lyla y e hehco miles de modificaciones y no pasa nada
Publicado: 08/06/2008 6:41 pm
me sale esto:
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœ}’KSÂ0…÷üŠ»ÔÍå&Mó`ÉX h]¸bjZ”¦\øïuªun2““|’9′é ScN ŒFbÒú#Œ#Aº¸ÎnÆx¿˜^OçËIz é’´×aµ@&ä)›ìŠ}õê /`y5ëJXN–ðó‡»Õ NŠ+ñåäuB”‚îX?yÑ4ÓßñvÜ8(”Â;Ä?w¡ö.¥Û?Öźª]þn®s6S17çÑ}VÛ,Dr#‘GòÚ¬gƒ¦…¿ @ºO²Ï‰ôég’œPË€ÝÄÕa7NƒˆXÈ‹ Fˆ±Q¨ÚˆŸmÞ¿ì endstream endobj 8 0 obj <> endobj 9 0 obj <> stream xœ•‘»RÃ0E{ŖнlY%ÌPÿ€ˆ•AŒl1Ž3áóqüH„£-hTÜ9gWw6{©@*RH J”DS U OŒ Õàáyo]o¡ú‚×*¦rB¹Æ7ëÝO$p]. \8àÛtö¦q¡µÇÈ–‚*JÜ.cx.Ãò_e0c÷i½O•Á„[sêC² ¦2¨BQeÞt¶ ©&˜°µíŒoBºT!Ì»\¬dÌbì¾K¡9á]NQ•„æ (ÑCàa7rlÆ‹]Á%Y“\³éFWrIÖ¤äjºK´|JÖd~÷Íùç³(þ$p™–s”‹xÚ’Ì‹Ü&E+4]M endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000000895 00000 n 0000001002 00000 n trailer <> startxref 1396 %%EOF
y mi codigo es este:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “a”);
mysql_select_db(“lubricentro”, $conexion);
$queEmp = “SELECT nombre_producto, marca_producto, descripcion_p, cantidad_stock FROM producto”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
hola ya resolvi mi problema eran mis clases solo cambie require_once(”../class/config.php”);
require_once(”../class/DB_MySQL.class.php”); //Incluimos la clase para las consultas
$miconexion = new DB_MySQL;
$miconexion->conectar($dbase, $host, $user, $password);
por esto:
$conexion = mysql_connect(”localhost”, “usuario”, “contraseña”);
mysql_select_db(”salud”, $conexion);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp))
{
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘nombre_producto’=>’nombre_producto‘,
‘marca_producto’=>’marca_producto‘,
‘descripcion_p’=>’descripcion_p‘,
‘cantidad_stock’=>’cantidad_stock‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
porfa una ayudadita
Publicado: 08/06/2008 6:43 pm
ahora si, este es mi codigo modificado y aun me sale lo mismo, estoy son appserv, php 5.2
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “a”);
mysql_select_db(“lubricentro”, $conexion);
$queEmp = “SELECT nombre_producto, marca_producto, descripcion_p, cantidad_stock FROM producto”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
mysql_select_db(”salud”, $conexion);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp))
{
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘nombre_producto’=>’nombre_producto‘,
‘marca_producto’=>’marca_producto‘,
‘descripcion_p’=>’descripcion_p‘,
‘cantidad_stock’=>’cantidad_stock‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 10/06/2008 6:02 pm
mm este foro me ha servido para los archivos pdf pero como ajusto el tamaó de las columnas agradezco si alguien me ayuda
y vi algunas preguntas relacionadas con la orientacion de la pagina a mi ya me quedo y la instruccion es esta
$pdf =& new Cezpdf(‘letter’,'landscape’);
si por alguna razon marca error se usa comillas simples o apostofe como lo conozcan mejor esper les funcione y alguien me ayude
Publicado: 13/06/2008 10:37 pm
Te cuento que tu blog es genial..
Me sirvió mucho y gracias.
Publicado: 21/06/2008 9:41 pm
he leido aquí entre las dudas el problema de los acentos pero ni aun leyendolo lo he podido solucionar, me podrías dar alguna pista?
Publicado: 27/06/2008 9:40 pm
hola muy buen articulo pero si alguien pueda ayudarme para poner los logos de la empresa en los encabezados del archivo pdf generado
Publicado: 01/07/2008 8:02 pm
sigo parado en lo mismo este es mi codigo y sigue saliendo el mismo problema
selectFont(’../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(”localhost”, “root”, “a”);
mysql_select_db(”lubricentro”, $conexion);
$queEmp = “SELECT nombre_producto, marca_producto, descripcion_p, cantidad_stock FROM producto”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
mysql_select_db(”salud”, $conexion);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp))
{
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(’num’=>$ixx));
}
$titles = array(
‘nombre_producto’=>’nombre_producto‘,
‘marca_producto’=>’marca_producto‘,
‘descripcion_p’=>’descripcion_p‘,
‘cantidad_stock’=>’cantidad_stock‘
);
$options = array(
’shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(”\n\n\n”, 10);
$pdf->ezText(”Fecha: “.date(”d/m/Y”), 10);
$pdf->ezText(”Hora: “.date(”H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
me sale esto:
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at C:\AppServ\www\lubricentro\pdfprueba.php:1) in C:\AppServ\www\lubricentro\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj endobj 2 0 obj endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj endobj 6 0 obj endobj 7 0 obj stream xœ}’KSÂ0…÷üŠ»ÔÍå&Mó`ÉX h]¸bjZ”¦\øïuªun2““|’9′é ScN ŒFbÒú#Œ#Aº¸ÎnÆx¿˜^OçËIz é’´×aµ@&ä)›ìŠ}õê /`y5ëJXN–ðó‡»Õ NŠ+ñåäuB”‚îX?yÑ4ÓßñvÜ8(”Â;Ä?w¡ö.¥Û?Öźª]þn®s6S17çÑ}VÛ,Dr#‘GòÚ¬gƒ¦…¿ @ºO²Ï‰ôég’œPË€ÝÄÕa7NƒˆXÈ‹ Fˆ±Q¨ÚˆŸmÞ¿ì endstream endobj 8 0 obj endobj 9 0 obj stream xœ•‘»RÃ0E{ŖнlY%ÌPÿ€ˆ•AŒl1Ž3áóqüH„£-hTÜ9gWw6{©@*RH J”DS U OŒ Õàáyo]o¡ú‚×*¦rB¹Æ7ëÝO$p]. \8àÛtö¦q¡µÇÈ–‚*JÜ.cx.Ãò_e0c÷i½O•Á„[sêC² ¦2¨BQeÞt¶ ©&˜°µíŒoBºT!Ì»\¬dÌbì¾K¡9á]NQ•„æ (ÑCàa7rlÆ‹]Á%Y“\³éFWrIÖ¤äjºK´|JÖd~÷Íùç³(þ$p™–s”‹xÚ’Ì‹Ü&E+4]M endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000000895 00000 n 0000001002 00000 n trailer startxref 1396 %%EOF
Publicado: 04/07/2008 6:49 pm
Buenas a todos los desarrolladores en PHP y Mysql:
todo salio a la perfeccion, pero ahora os quiero pedir un favor grande, si algun desarrollador me puede ayudar, sucede que manejo variables y cuando hago la consulta para mostrar en el pdf hago WHERE cidentidad = ‘$cidentidad’ y me muestra un formulario en blanco, como puedo generar consultas comparando y enviando variables desde un formulario a PDF donde hago la consulta, puesto que en el ejemplo la consulta esta en el formulario php-mysql.php, por favor si alguyien puede ayudarme se lo agradeceria…
Publicado: 04/07/2008 6:50 pm
y mas aun mis agradecimientos se me enviarian a mi correo nelson_poeta1@hotmail.com
Publicado: 11/07/2008 12:42 pm
Hola a todos la herramienta funciona de excelentemente, solo que necesito poner los datos que tengo en ciertas cordenas o en cajas de texto diferentes a una tabla porque es un formato de un solo cliente (dotos de un cliente), ojala me puedan apoyar porque si me urge mucho gracias.=)
Publicado: 15/07/2008 4:52 pm
hola! muchísimas gracias!!!! esta opción para generar reportes está de lujo! Dios te bendiga!!!!
Publicado: 15/07/2008 4:56 pm
Sebass tu problema puede ser que no has pegado todos los archivos del ejemplo que podés descargar acá mismo
Publicado: 19/07/2008 11:30 pm
He realizado varios de tus ejemplos me han funcionado bien pero para este me ha dado varios errores
este es el codigo:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “00000″);
mysql_select_db(“bdprueba”, $conexion);
$queEmp = “SELECT nombre, direccion, telefono FROM empresa”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Empresa‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
pero me genera un error que dice
que el archivo no empieza con .pdf
a que se debe???
Publicado: 21/07/2008 11:07 am
Hola a todos, antes que nada solo decir que me a sido de gran ayuda lo que e encontrado por aqui, la info es muy buenay muy bien explicada.
Espero que alguien me puedaayudar, quiero cambiar la orientacion la pa hoja del PDF, es decir, que se muestre de forma horizontal en vez de vertical… Gracias a todos y espero me puedan ayudar
Publicado: 23/07/2008 2:31 pm
Neftali prueba con esto
$pdf =& new Cezpdf(’letter’,’landscape’);
Publicado: 07/08/2008 6:53 am
No funciona para IE!!
Por que??
en firefox sale perfecto!
que modificaciones debería hacer que funcione tambien para IE???
Publicado: 10/08/2008 8:42 pm
Para los que no le sale la información de la base de datos, a mi lo que me pasaba era que no había puesto la carpeta de la fuente un directorio arriba de donde puse mi scriptpara generar el pdf, espero le haya servido a alguien…
Publicado: 11/08/2008 10:19 pm
Respuesta para neftali:
$pdf =& new Cezpdf(‘a4′, ‘portrait’);
donde a4= tamaño de hoja
y ‘portrait’=orientacion vertical
‘landscape’=orientacion horizontal
Publicado: 11/08/2008 10:24 pm
Excelente foro, pero si alguien puede ayudarme, genero el pdf correctamente pero como le hago para reducir el tamaño de la fuente de la tabla ya que por defecto tiene el tamaño 10 ya probe lo siguiente pero no me funciona
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘showLines’=>1,
‘width’=> 1,
‘fontsize’=>8,
‘titleFontSize’ => 8,
‘xOrientation’=>’center’,
‘width’=>500
);
Publicado: 13/08/2008 10:35 am
Hola! Muy bueno el blog.
Ahora tengo un problema con el nro d paginas, porq tengo un pdf de 5 paginas y me sale solamente en la primera 1 de 2 y en la ultima me sale 2 de 2.
Ayuda… no se como implementar bien eso…
Publicado: 18/08/2008 12:38 pm
Hola, el blog esta excelente pero tengo un problemita que quisiera me ayudaran a resolver: Cuando escribo un texto con tildes o caracteres que no sean ISO, me genera unos simbolos extraños, como hago para configurar la clase en juego de caracteres UTF? Gracias.
Publicado: 26/08/2008 12:15 pm
Hola, estoy utilizando el codigo pero me genera el siguiente error.
Fatal error: Call to a member function ezText() on a non-object
Por favor, alguien que me ayude
Publicado: 27/08/2008 11:52 am
oh mi duda sonara mas tonta que lo de los demas…
pero la basa de datos demo.sql como la importo a phpmyadmin o tendran el mismo ejemplo en una version compatible para este’?
x3
Publicado: 28/08/2008 3:46 pm
Mi duda es la siguiente en este ejemplo vemos conmo mostrar los datos de una consulta a mysql, pero los mostramos tal cual como estan en la tabla existe lguna otra forma de mostrar los datos osea por ejemplo que me salga el nopmbre y el apellido en cierto lugar y la empresa y los otros datos en el lugar que yo quiera ponerlos??
Publicado: 04/09/2008 9:52 am
Hola amigos.
Les cuento que soy novato en esto y bueno me parece interasante el ejemplo, ya que yo lo aplique funciona impeque, pero lo que necesito es mostrar los datos en una tabla, pero no encuentro como podria serlo. no se si ustedes me puede dar algo de pistas o bien alguin si puede explicar un poquito el codigo….
desde ya muchas gracias….!!!
Publicado: 09/09/2008 1:12 pm
Buenas, en primer lugar gracias y enhorabuena por tu pedazo de entrada, me ha servido de mucha ayuda.
Pero tengo un problema que he visto en mucha gente aquí. Porqué con IE no me aparece el PDF?? He mirado en unos cuantos foros y he probado varias posible soluciones pero no hay manera. Por favor, si alguien ha conseguido solucionarlo, que sea tan amable de decírnoslo por aquí, pues sería de gran ayuda.
Gracias por anticipado.
SaludoS!!
Publicado: 09/09/2008 1:37 pm
Hola amigos.
super interesante y util el codigo que plantan para generar pdf usando php, pero mi duda es como pueden colocar fondo a los titulos de la tabla(encabezado). Esto porque lo he revisado y aun no he podido poner fono a la cabecera del la tabla. Desde ya muchas gracias.
Publicado: 15/09/2008 6:31 am
He copiado el codigo y al ejecutarlo no se ven los datos de la consulta.
He probado copiar la carpeta fonts en el directorio de trabajo pero no obtengo resultados.
Si alguien ha solucionado esto por favor decirme como lo arreglo?.
Publicado: 26/09/2008 6:27 pm
Ya he logrado crear my pdf con php y con el contenido de mi base de datos.
Publicado: 26/09/2008 6:54 pm
Las caracteristicas del pdf que he creado con las siguientes imagen de encabezado en todas las paginas, texto de encabesado en todas la paginas, pie de pagina con numeracion 1 de 3, 2 de 3, y 3 de 3, hora y fecha en todas las paginas usando fpdf.
1 tienes que tener el archivo fpdf.php
2.-crearte eun archivo crearpdf.php con el siguiente contenido:
Image(‘DPAGS.jpg’,10,8,33);
//Titulo o encabezado tipo de letra
$this->SetFont(‘Arial’,”,18);
$this->Cell(0,6,’Nombre de la consulta’,0,1,’C');
$this->Ln(10);
parent::Header();
}
//Funcion Footer para pie de pagina, necesaria para mostrar el pie
function Footer()
{
//Posición: a 1,5 cm del final
$this->SetY(-25);
$this->SetFont(‘Arial’,'I’,8);
//Número de página
$this->Cell(0,10,’Page ‘.$this->PageNo().’/{nb}’,0,0,’C');
//Fecha y hora de creacion de la pagina
$this->Cell(-100,20,’Fecha: ‘.date(“d/m/Y”),0,0,’C');
$this->Cell(-100,20,’Hora: ‘.date(“H:i:s”),0,0,’C');
}
}
//Conexion a la base
mysql_connect(‘localhost’,'root’,”);
mysql_select_db(‘Top’);
$pdf=new PDF();
$pdf->Open();
$pdf->AliasNbPages();
$pdf->AddPage();
//agregas el nombre de la comlumna de mysql a agregar en tu pdf ano es el nombre de mi columna de mi base de datos
//si uieres poner por ejemplo id pones $pdf->AddCol(‘id’,20,”,’C'); y agregas a tu query id $pdf->Table(‘select ano, id from ano ‘,$prop);
$pdf->AddCol(‘ano’,20,”,’C');
$prop=array(‘HeaderColor’=>array(255,150,100),
‘color1′=>array(210,245,255),
‘color2′=>array(255,255,210),
‘padding’=>2);
$pdf->Table(‘select ano from ano ‘,$prop);
$pdf->Output();
?>
3.-crear o bajar el archivo mysql_table.php. este es el codigo:
ProcessingTable)
$this->TableHeader();
}
function TableHeader()
{
$this->SetFont(‘Arial’,'B’,12);
$this->SetX($this->TableX);
$fill=!empty($this->HeaderColor);
if($fill)
$this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]);
foreach($this->aCols as $col)
$this->Cell($col['w'],6,$col['c'],1,0,’C',$fill);
$this->Ln();
}
function Row($data)
{
$this->SetX($this->TableX);
$ci=$this->ColorIndex;
$fill=!empty($this->RowColors[$ci]);
if($fill)
$this->SetFillColor($this->RowColors[$ci][0],$this->RowColors[$ci][1],$this->RowColors[$ci][2]);
foreach($this->aCols as $col)
$this->Cell($col['w'],5,$data[$col['f']],1,0,$col['a'],$fill);
$this->Ln();
$this->ColorIndex=1-$ci;
}
function CalcWidths($width,$align)
{
$TableWidth=0;
foreach($this->aCols as $i=>$col)
{
$w=$col['w'];
if($w==-1)
$w=$width/count($this->aCols);
elseif(substr($w,-1)==’%')
$w=$w/100*$width;
$this->aCols[$i]['w']=$w;
$TableWidth+=$w;
}
if($align==’C')
$this->TableX=max(($this->w-$TableWidth)/2,0);
elseif($align==’R')
$this->TableX=max($this->w-$this->rMargin-$TableWidth,0);
else
$this->TableX=$this->lMargin;
}
function AddCol($field=-1,$width=-1,$caption=”,$align=’L')
{
if($field==-1)
$field=count($this->aCols);
$this->aCols[]=array(‘f’=>$field,’c'=>$caption,’w'=>$width,’a'=>$align);
}
function Table($query,$prop=array())
{
$res=mysql_query($query) or die(‘Error: ‘.mysql_error().”Query: $query”);
if(count($this->aCols)==0)
{
$nb=mysql_num_fields($res);
for($i=0;$iAddCol();
}
foreach($this->aCols as $i=>$col)
{
if($col['c']==”)
{
if(is_string($col['f']))
$this->aCols[$i]['c']=ucfirst($col['f']);
else
$this->aCols[$i]['c']=ucfirst(mysql_field_name($res,$col['f']));
}
}
if(!isset($prop['width']))
$prop['width']=0;
if($prop['width']==0)
$prop['width']=$this->w-$this->lMargin-$this->rMargin;
if(!isset($prop['align']))
$prop['align']=’C';
if(!isset($prop['padding']))
$prop['padding']=$this->cMargin;
$cMargin=$this->cMargin;
$this->cMargin=$prop['padding'];
if(!isset($prop['HeaderColor']))
$prop['HeaderColor']=array();
$this->HeaderColor=$prop['HeaderColor'];
if(!isset($prop['color1']))
$prop['color1']=array();
if(!isset($prop['color2']))
$prop['color2']=array();
$this->RowColors=array($prop['color1'],$prop['color2']);
$this->CalcWidths($prop['width'],$prop['align']);
$this->TableHeader();
$this->SetFont(‘Arial’,”,11);
$this->ColorIndex=0;
$this->ProcessingTable=true;
while($row=mysql_fetch_array($res))
$this->Row($row);
$this->ProcessingTable=false;
$this->cMargin=$cMargin;
$this->aCols=array();
}
}
?>
y tener dentro de tu carpeta, donde tendas estos 3 archosvos la carpeta font.
Tambien tarde como dos horas en encontrar un ejemplo que me funcionara como yo queria…asi que se los paso…ya modificado el caso es que no me acuerdo en donde los encontre espero que les sirva.
Publicado: 26/09/2008 6:57 pm
antes de Image(’DPAGS.jpg’,10,8,33);
va esto perdon no me di cuenta que no copie bien.
define(‘FPDF_FONTPATH’,'font/’);
require(‘mysql_table.php’);
class PDF extends PDF_MySQL_Table
{
function Header()
{
//imagen de encabezado
$this->Image(‘DPAGS.jpg’,10,8,33);…..
Publicado: 26/09/2008 6:58 pm
si gustan les paso mi ejemplo, isc.raziel@gmail.com
Publicado: 29/09/2008 1:57 pm
excelente script, solo que tengo un problema, genero dinamicamente unas tablas, lo que pasa es que me guarda los datos del query anterior en el $data[], como le hago para que lo reinicie y no me muestre todos los datos nuevamente.
de antemano muchas gracais.
Publicado: 01/10/2008 8:48 pm
Saludos gente tengo una duda de la cual agradeceria que me ayudaran, tengo que hacer una tabla de la forma como se indica abajo:
___________________________
| h |dato |_j___|dato_|
|_______|______|_k___|dato_|
| i |dato |_l___|dato_|
|_______|______|_nada|dato_|
|_a_|_b_|_c_|__d_|__f__|_g_|
|dat|dat|dat|dat |dat |dat|
|dat|dat|dat|dat |dat |dat|
|dat|dat|dat|dat |dat |dat|
|dat|dat|dat|dat |dat |dat|
|dat|dat|dat|dat |dat |dat|
—————————-
bueno resulta que a,b,c,d,e,f,g,h,i,j,k son los titulos o variables a completar de una base de batos y los otros campos son los datos.
Resulta que la unica tabla que puedo hacer es a,b,c,d,e,f,g que se hace como lo indican en esta pagina:
http://blog.unijimpe.net/generar-pdf-con-php-y-mysql/ donde a=numero; b=Empresa; d=Direccion;f=telefono; (para dar un ejemplo).
Los campos de la tabla h,i,j,k,l no se como crearlos ya que estos datos se llenaran (completan) horizontalmente(hacia el lado).
En otras palabras puedo llenar los campos de a,b,c,d,e,f,g y no h,i,j,k,l ya que estos se completan horizontalmente.
..: AGRADECERIA MUCHO SU AYUDA :..
Publicado: 01/10/2008 9:17 pm
es estas direcciones hay una tabla mejor hecha:
http://hosting.deimagenes.com/imagenes/36d26709d018e6fd267a6e0d851e91ba.JPG
http://subefotos.com/ver/?36d26709d018e6fd267a6e0d851e91bao.jpg
http://www.subirimagenes.com/otros-tablapaforo-1203701.html
Publicado: 09/10/2008 2:48 am
El problema de los acentos, por lo menos en mi caso, es que tengo la base de datos en UTF-8 y el CEZPDF usa ISO-8859-1.
Yo he usado en php:
iconv ( “UTF-8″,”ISO-8859-1″ , “Número” )
Hay más métodos en esta página:
http://www.programacionweb.net/articulos/articulo/?num=494
Publicado: 13/10/2008 9:00 pm
Hola como puedo hacer reportes de imagenes en fpdf tengo q ue meter las imagenes en la db o hay otra forma
Publicado: 21/10/2008 3:17 pm
Exelante foro me atore en el color de los renglones.
la solucion fue:
aumentar en el array de $options ‘shaded’=>0,
ejemplo:
$options = array(‘shaded’=>0,
‘shadeCol’=>array(0.3,0.9,0.9,0.9,0.7,1.5),
‘xOrientation’=>’center’,'width’=>550
);
gracias unijimpe de luxo
Publicado: 23/10/2008 2:35 pm
hola que tal
he encontrado muy util tu ejemplo, pero me plantea uan duficultad que aun no puedo resolver: me imprime una tabla vacía
te mando el código:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “nkcomple_admin”, “coop2008″);
mysql_select_db(“db10556_unijimpe_demo”, $conexion);
$queEmp = “SELECT nombre, direccion, telefono FROM empresa ORDER BY nombre ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Empresa‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/10/2008 2:57 pm
ups… copié el código que no era… este es el mío:
selectFont(‘../fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//bloque de conexion
$conexion = mysql_connect(“localhost”, “nkcomple_admin”, “coop2008″);
mysql_select_db(‘nkcomple_coop’, $conexion);
$sql = “SELECT * FROM APORTES WHERE APOROL = \”".$_SESSION['usuario'].”\” ORDER BY APOANIO ASC”;
$result = mysql_query($sql, $conexion);
$totresult = mysql_num_rows($result);
//esta parte a continuación va a escribir el pdf
$ixx = 0;
while($datatmp = mysql_fetch_assoc($result)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titulos = array(
‘num’=>’Num‘,
‘APOROL’=>’Rol’,
‘APOANIO’=>’Año‘,
‘APOMES’=>’Mes‘,
‘APODESCRIPCION’=>’Descripción‘,
‘APOVALOR’=>’Valor‘,
‘APOINTERES’=>’Interés‘
);
$opciones = array(
‘shadecol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
//esta es la parte que imprime
$txttit = “Reporte de transacciones”;
$txttit.= ” para el usuario “.$_SESSION['usuario'];
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titulos, ”, $opciones);
$pdf->ezText(“\n\n\n\n”, 40);
$pdf->ezText(“Fecha:“.date(“d/m/Y\n”), 10);
$pdf->ezStream();
?>
Publicado: 23/10/2008 3:11 pm
hmmm olvidal, ya solucioné el provblema, parace que mus clases para escribir pdf han estado corruptas
una vez más, muy buen tutorial, muchas gracias!
Publicado: 27/10/2008 7:50 pm
ME SALE PAGINA EN BLANCO EN FIREFOX Y PAGINA CORRUPTA EN IE6
MI CODIGO ES EL SGTE:
require_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “pagina_alfok”, “********”);
mysql_select_db(“pagina_bdejm”, $conexion);
$queEmp = “SELECT var1, var2, var3, var4 FROM tabla”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘var1′=>’VARIABLE1‘,
‘var2′ =>’VARIABLE2‘,
‘var3′ =>’VARIABLE3‘,
‘var4′ =>’VARIABLE4‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “TITULO\n”;
$txttit.= “SUBTITULO \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
//todo esta en el root, si alguien sabe cual es el error? DIGANMELO POR FAVOR
Publicado: 28/10/2008 3:39 pm
Para los que quieren pasar a pdf los datos provenientes de una consulta mysql, si instalan el paquete xampp para linux o win2 trae muy buenos ejemplos de ezpdf
Publicado: 30/10/2008 12:22 am
Necesito ayuda que me digan dond epegar las clases porfavor no me funciona
Publicado: 30/10/2008 2:45 am
necesito ayuda me marca el siguiente error y no se que hacer profavor
Warning: main(class.pdf.php): failed to open stream: No such file or directory in c:\archivos de programa\easyphp1-8\www\sitio php\class.ezpdf.php on line 3
Warning: main(): Failed opening ‘class.pdf.php’ for inclusion (include_path=’.;C:/Archivos de programa/EasyPHP1-8\php\pear\’) in c:\archivos de programa\easyphp1-8\www\sitio php\class.ezpdf.php on line 3
Fatal error: Class cezpdf: Cannot inherit from undefined class cpdf in c:\archivos de programa\easyphp1-8\www\sitio php\class.ezpdf.php on line 5
Publicado: 30/10/2008 4:23 am
hola ya resolvi mi duda anterior ahora me marca este herror y no se que hacer porfavor me urge este es el error
Warning: Cannot modify header information – headers already sent by (output started at c:\archivos de programa\easyphp1-8\www\sitio php\pdf.php:14) in c:\archivos de programa\easyphp1-8\www\sitio php\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at c:\archivos de programa\easyphp1-8\www\sitio php\pdf.php:14) in c:\archivos de programa\easyphp1-8\www\sitio php\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at c:\archivos de programa\easyphp1-8\www\sitio php\pdf.php:14) in c:\archivos de programa\easyphp1-8\www\sitio php\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœ…UMÓ0¼÷Wø—WÛémYv ¬”$ŽV’]ŒÒÒtÅÏÇ ´õvßë^”ÇšÇö{«75ÓŒäÌUHÅYݲõ`BBß3öêcÜM} Ýnk;v†iLý<|›šý¶¦´{ÍêŸì¦^‚Þ‚qˆ`Á¿N¿bØC0§ ‹NžçÀ9gåw|È“Õò{úÞ½[X¬�eONøÉIÊÿã /|*°•^Z{‰ÁSÚsŠ\(FW´þÍŸ©1µÀ€Êk“ÿ0ò²÷²¼×ùl4íþsNy¿ëcƒ(û1 \fÓÚxÚÎm×ü2”//§ìœû?¨4Ïü;Ÿ€¢ý_5á©¡ò¿åv•äY×Ñú_ú0tÒÍÓ TBì;†¦âù‡fD“ïgC{°èu.ÁÖ€—òBüí6¢*ž8×RŒ@Å3Åǯ…�éì…êÇ®Á”£³óÒÆ‚SâÂÞ÷ež†KþB9¬Óúá7R±sÏ.¿Vå³É ÿWà•k2 c÷«Õ×¢3˜Üaì±3óηÈ|NÙ`x“_†×4ÖR.6ËnÎn±âkÁ×’sÿ¼‘¥ÀcÙ¼O#®ÆÕFØÂ´¤Z2zf9·YwØÊ_ê<Ä- endstream endobj 8 0 obj <> endobj 9 0 obj <> stream xœ”ËŽÛ0E÷ù -ÛŨ¢ÞÚ˜v߿ܨ2È8@œéãïk–,Ûd Í`@œ{ż>|=2í¸Õ‚Ù�ÜXÁŽ-ûò >þfìHõ™ßØëñ0ÒAqM7§¦íÞ€ðï—ÓÀAynt ýïM{AÔ¿>Tàר=”´×\ýl:-eàÚxš–BøL@uâE†Rà4 è†Ëðè0¹€f(p%WÖÑþçëíÞaÊ¿?ö¥¬á^Júë¥ïþ À¥³´àíÖ]KÞXî<›PA!9ø’÷¼ÚoŠŠ1ãLx|9}Šþ}éO¯Í8Ql2Íz”‰Wš{tòØÕS͹¢º!sE¶#±\‘£ÔXL(šÌÕ=™+ê…¡=¯‚’Ôm3´ & æ3´X¬¨~ŒüÂÍ…-JÅô.`ªìHbr®lI)uŒÔB¦ÊŽ´!F£ çÊ–T`â™/dªìH+âÉä\Ù’ZØxMÅ0çÊŽ4£ çÊŽ..¹ çÊ–4»Ub—c6 ZU&0¹ Íaå–*3Å‹Sñäøzþ endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000001067 00000 n 0000001172 00000 n trailer <> startxref 1859 %%EOF
y este es mi codigo pa que me digan donde tengo el error porfavor:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//Obtenemos el registro desde MySql
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“sgc”, $conexion);
$queEmp = “SELECT codigo, documento, externo_interno, No_Revision, Fecha_Revicion, academia, planeacion_Vinculacion, administrativa, direccion, nulo, total FROM lista_maestra”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
//Creando el array de datos, títulos y opciones
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘codigo’=>’Codigo‘,
‘documento’=>’Documento‘,
‘externo_interno’=>’Externo Interno‘,
‘No_Revision’=>’No. Revicion‘,
‘Fecha_Revicion’=>’Fecha de Revicion‘,
‘academia’=>’Academia‘,
‘planeacion_Vinculacion’=>’Planeacion Y Vinculacion‘,
‘administrativa’=>’Administrativa‘,
‘direccion’=>’Direccion‘ ,
‘nulo’=>’Nulo‘,
‘total’=>’Total‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
//Imprimiendo los Resultados
$txttit = “Lista Maestra de Control de Documentos\n”;
$txttit.= “Control de Copias Controladas\n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 02/11/2008 10:51 pm
Bueno he leído muchos comentarios y veo que algunos aún tienen problemas. He estado trabajando en ello, para mi proyecto de grado y pues quería compartir algo de lo que hice:
$hostname_cnxmatfis1 = “localhost:3306″;
$database_cnxmatfis1 = “matfis1″;
$username_cnxmatfis1 = “root”;
$password_cnxmatfis1 = “123456″;
$cnxmatfis1 = mysql_pconnect($hostname_cnxmatfis1, $username_cnxmatfis1, $password_cnxmatfis1) or trigger_error(mysql_error(),E_USER_ERROR);
$query_rsGruposInv = “SELECT gi.nombre_grupo,gi.linea_investigacion,gi.tiempo_pertenencia
FROM grupos_investigacion gi,estudiantes e
WHERE gi.id_persona=e.id_alumno AND e.id_alumno=’$identificacion’”;
mysql_select_db($database_cnxmatfis1, $cnxmatfis1);
$rsGruposInv = mysql_query($query_rsGruposInv, $cnxmatfis1) or die(mysql_error());
$row_rsGruposInv = mysql_fetch_assoc($rsGruposInv);
$totalRows_rsGruposInv = mysql_num_rows($rsGruposInv);
do {
$data1[] = $row_rsGruposInv;
}while($row_rsGruposInv = mysql_fetch_assoc($rsGruposInv));
$titles1 = array(
‘nombre_grupo’=>’Nombre‘,
‘linea_investigacion’=>’Rama‘,
‘tiempo_pertenencia’=>’Tiempo de pertenencia‘
);
$options1 = array(
‘shadeCol’=>array(0.4,0.7,0.9),
‘xOrientation’=>’center’,
‘fontSize’ => 12
);
$pdf->ezText(“Grupos de investigación“,14,array(‘justification’=>’center’));
$pdf->ezText(“”,14,array(‘justification’=>’center’));
$pdf->ezTable($data1,$titles1,”",$options1);
$pdf->ezStream();
Espero que les haya servido de algo.
Saludos.
Ciao ;)
Publicado: 05/11/2008 12:09 am
hola, que tal
yo ya he superado casi todos los inconvenientes, pero me quedan dos dudas:
la primera, tiene algún método la clase class.ezpdf.php para alinear columnas, digamos, a la derecha?
y la segunda, cómo puedo dividir la tabla que genera para hacerla tablas más pequeñas?
Publicado: 05/11/2008 12:48 pm
Se pueden combinar celdas?
o mejor dicho se podría hacer esta tabla?
http://subefotos.com/ver/?36d26709d018e6fd267a6e0d851e91bao.jpg
Publicado: 06/11/2008 8:14 am
Y como puedo poner los títulos de la tabla en vez de título por columna, título por fila?
Publicado: 07/11/2008 11:58 am
Hola:
Me está sirviendo de mucho el ejemplo para generar un PDF a partir de Mysql pero tengo un problema.
La consulta SQL que voy a hacer es en base a una variable que envío desde un formulario y no se como tratarla para hacer la consulta en el .php que genera el PDF, ni siquiera se si la recibe.
Para mostrarla utilizo lo siguiente:
$pdf->ezText(“$codigo_ind\n”,16);
y no visualizo nada.
¿Podéis echarme una mano?
Gracias
Publicado: 10/11/2008 2:20 pm
hola saludos desde Mexico, tengo un pequeño problema en la apliacacion q estoy realizando en mi escuela, necesito alinear cantidades de una columna ( con decimal p.e 150.30, con respecto a la derecha, pero al generar la tabla estan con respecto a la izquierda ya que debo acomodarlos en funcion del punto decimal,
agredecere grandemente su ayuda
Publicado: 19/11/2008 11:43 am
Bueno a los que le aparece este error
%PDF-1.3 %âãÏÓ 1 0 obj > endobj 2 0 obj > endobj 3 0 obj > /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj > endobj 6 0 obj > endobj 7 0 obj > stream xœµ“ÁjÂ@E÷ùŠ»¬›É{3I&“ÒDJc —¢Ñ”ÚTwýû¦ RKƒn†™Ëܳ8p½Q‰@«Pbf;B¹Ÿµj®[àéu8})
les digo que traten de abrir el .php desde firefox, por que el IE no lo abrira por nada del mundo… bueno hasta ahora me ha pasado eso
Publicado: 19/11/2008 2:02 pm
Excelente foro, sólo una duda, alguien sabe como ajustar a una de una la página, debido a que tengo varias columnas que no caben aún siendo horizontal
Saludos y gracias
Publicado: 19/11/2008 5:25 pm
solo me sale el documento vacio ya le hice los cambios pero no me salen los datos de mitabla
Publicado: 24/11/2008 4:05 pm
Tengo una base con unos 3640 registros más o menos, cuando recupero alrededor de 200 registros todo funciona perfecto, el pdf se genera bien, cuando quiero generar el pdf con todos los registros de mi base que son como 3640 me sale el siguiente error:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 6936 bytes) in C:\AppServ\www\pdf\class.pdf.php on line 1624
El mismo error me sale por ejemplo si le agrego opciones como alinear a la derecha, fijar un tamaño específico para la columna, etc. con una cantidad pequeña de registros funciona bien, pero cuando trabajo con unos 600 registros ya me sale el mismo error, espero me puedan ayudar, saludos y gracias.
Publicado: 25/11/2008 11:53 am
Tengo Problemas con el Codigo
trato de Generar una consulta y manadarla al PDF
Codigo PHP:
include (‘class.ezpdf.php’);
if (isset($_POST['enviar'])){
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“aplicacionesweb”, $conexion);
$sql=”select * from cliente where cedula =’{$_POST['cedula']}’”;
$resEmp = mysql_query($sql, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$pdf=& new Cezpdf(‘A4′);
$pdf->selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘Cedula’=>’Num‘,
‘nombre’=>’Empresa‘,
‘Apellido’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “Juan David Torres – Farley Bonfante\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Este es el Error que me Sale:
Warning: Cannot modify header information – headers already sent by (output started at D:\xampplite\htdocs\Imprimir.php:2) in D:\xampplite\htdocs\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at D:\xampplite\htdocs\Imprimir.php:2) in D:\xampplite\htdocs\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at D:\xampplite\htdocs\Imprimir.php:2) in D:\xampplite\htdocs\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœ}‘OO1Åïû)æ¨g§¥¶ ¬Ä¨íÅãf) -®b··n²Z²ÅË$}íüúÞL6± 8JN MÄ °+ÈKŒ#]\Ý«¦Õ×fÖ·û€(«vçN0ñͺj>Ý5Ø-ÌlÑ L¨!m¶uûÃÎÃÊÁbZBíXÌp‚‡—çå=$HškñC :!A\Û× šîøWŸn;‚F%A*ÔLüz¡ÞËãqýÇ$CñßóÙþÒWQ)ÅÈ\n™nZW×ßĹÈãòr“u;·öï{Þ³l„K‰~ ‘ÎFÆ>Ô‰#çC]B¥º6È(á«tõ[5î\_�—9c9'*†ûSJ£ ÜÜ·iccÉÇD –”h•{è#~ߤ endstream endobj 8 0 obj <> endobj 9 0 obj <> stream xœu»Â0E÷~Åa1vã¤dE-}¥A]2œœk_g›�±BªŒÂ¬É³”TXíÂÄ`q|•OlË÷µZ”ܰYRöÄlçS†Ù°3NÖ}ªþbFüž™à“iN®)P0å…â%gwœž¨k›â@3/<©ñ‘9ÄTÖöŽqyOÓþÕ´3=k,‰h&¤û¬ÍIÝdZG:I¢Ñ¤qå¾q\ endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000000861 00000 n 0000000968 00000 n trailer <> startxref 1221 %%EOF
Publicado: 25/11/2008 11:55 am
Me sale el mismo error usando Firefox y IE
Publicado: 13/12/2008 10:12 am
SOY NUEVO USANDO ESTA LIBRERIA PARA CREAR PDFS CON PHP,TENGO PROBLEMAS CUANDO USO CARACTERES ESPECIALES Y NECESITO AYUDO PARA COLOCAR ACENTOS, A LAS PALABRAS QUE LO NECESITO LE AGREDECERIA QUE REPONDIERA A MI CORREO
Publicado: 22/12/2008 8:02 pm
Saludos, por favor como puedo hacer para insertar un logo a el PDF generado, prove el siguiente codigo: $pdf->addJpegFromFile(’hugo.jpeg’,80,80,300,100); explicado en lineas anteriores pero no me dio el resultado esperado, muchas gracias de antemano por su generosa y valiosa receptividad.
Publicado: 02/01/2009 10:11 am
hola, he tratado de hacer que me muestre el reporte en pdf pero solo me muestra las celdas sin la informacion, anteriormente lo habia hecho con otro proyecto y funciona pero ahora no muestra los datos el codigo es el siguiente: selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion2 = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“biblioteca”, $conexion2);
$queEmp =”SELECT ci_alumnos,nombre_al,apellido_al,semestre_al,seccion_al,nombre_carre from alumnos,carrera where alumnos.id_carrera=carrera.id_carrera”;
$resEmp = mysql_query($queEmp, $conexion2) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘ci_alumnos’=>’C.I‘,
‘nombre_al’=>’Nombre‘,
‘apellido_al’=>’Apellido‘,
‘nombre_carre’=>’Carrera‘,
‘semestre_al’=>’Semestre‘,
‘seccion_al’=>’Seccion‘
);
$options = array(
‘shadeCol’=>array(0.8,0.8,0.8),
‘xOrientation’=>’center’,
‘width’=>1000
);
$txttit = “REPORTE DE ALUMNOS INSCRITOS EN LA BIBLIOTECA\n\n\n”;
$pdf->ezText($txttit, 12);
$pdf->ezText(“\n”, 20);
$pdf->ezTable($data,$titles, ‘-’, $options);
$pdf->ezText(“\n\n”, 10);
$pdf->ezStream();
?>
alguine me podra ayudar con eso?
Publicado: 05/01/2009 10:58 am
hola el codigo me fucniona perfectamente.. pero no e a donde colocar el codigo apra cambiar la orientacion de l pagina de vertical a horizontal…
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1,1);
$conexion = mysql_connect(“localhost”, “root”, “123″);
mysql_select_db(“sgh”, $conexion);
$queEmp = “SELECT identificacion, nombres, apellidos, fnacimiento FROM empleados ORDER BY identificacion ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
Publicado: 05/01/2009 10:59 am
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1,1);
$conexion = mysql_connect(“localhost”, “root”, “123″);
mysql_select_db(“sgh”, $conexion);
$queEmp = “SELECT identificacion, nombres, apellidos, fnacimiento FROM empleados ORDER BY identificacion ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
Publicado: 26/01/2009 9:52 am
unijimpe gracias sempai y otro de colombia mas te felicita , a proposito gracias por este tutorial, se adapta a mis necesidades , ahora buscare por mister google que mas opciones tiene esta magnifica clase jejeje y si necesitas un diseñador digital me avisas jejeje
Publicado: 03/02/2009 9:43 am
Hola, felicitaciuones por el aporte…. todo me ha funcinado de maravila… mi problema es que quiero firmar digitlmente un pdf reado por este metodo…. pero en estos pdfs creados no se pueden plicar las firmas….. ¿COMO PUEDO HABILITAR LA FUNCION DE FIRMA DIGITAL?
muchas gracias
Publicado: 03/02/2009 5:50 pm
Amigo que buen post de verdad que lo practique y ps cacharreando que es como se aprende osea practicando mucho lo resolvi generando un reporte del S.I. que estoy realizando era de mucha importancia muchas gracias amigo eres un genio ok!
Publicado: 18/02/2009 6:55 pm
Muchas gracias, de verdad muchas gracias, me salio todo bien, y al primer intento jejejejeje, muy agradecido.
Publicado: 20/02/2009 10:20 am
me podrias ayudar.
$titles = array(
‘codigo’=>’Codigo‘,
‘documento’=>’Documento‘,
‘valor’=>’Costo Producto‘,
este valor tiene decimales como puedo formatearlo de esta manera con un decimal 10,500.0 muchas gracias.
Publicado: 25/02/2009 2:03 pm
Buenas tardes.
Estoy creando un pdf con ezTable y necesito dejar la tabla sin titulos y concatenar celdas, sera que ustedes me pueden ayudar, muchas gracias
Publicado: 05/03/2009 7:22 pm
Batallando pero al final lo eh logrado, GRACIAS a este script Saludos.
Publicado: 06/03/2009 8:29 am
Quería saber si acaso es posible que al generar una tabla la fila donde van los títulos o encabezados queden con un color de fondo. Similar a como aparecen las filas del contenido de la tabla, pero más oscuro para poder dejarla más diferenciado el título del contenido.
He buscado mucho algún ejemplo, pero todas las tablas dejan los titulos por defecto con letras “negras” y fondo “blanco”…
Ojalá alguien pueda indicarme la solución, Muchas gracias!
Publicado: 12/03/2009 10:39 am
Por favorl alguien que me ayude, el codigo me genera el siguiente error. No empieza por pdf-
help me
Publicado: 12/03/2009 6:57 pm
hola como estan necesito descargarme los archivos para crear reportes en un pdf le doy click en el link de desacrgar pero no vale, si alguien me los puede enviar al mi correo se los agradeceria un monton porque necesito entregar ya mi tesis……
Ayudemen es de vida o muerte porfa
mi correo es geovanny.altamirano@gmail.com
Publicado: 12/03/2009 11:28 pm
Hola! muchas gracias por tu aporte! Me ha funcionado perfectamente! :D
Publicado: 12/03/2009 11:52 pm
Por cierto! Sabes cuales parámetros se modifican para que el archivo pdf lo genere en una nueva pestaña/ventana del explorador?
Publicado: 19/03/2009 11:57 am
He hecho reportes de este tipo pero tengo un problema mis registro tienen ñ y acentos y me salen con errores o codigos extraños,
Publicado: 23/03/2009 12:06 pm
hola, me salen los reportes en los pdf, pero mi pregunta es como agregarle un campo total al pdf algo parecido a una factura que totalice en a la altura de la columna de los monto, gracias por la respuesta
Publicado: 24/03/2009 2:19 pm
Hola. Mi pregunta es la siguiente. Mi PDF es un par de stickers ( uno junto a otro) que salen perfectamente. Pero la impresion es en papel continuo y la secretaria le va arrancando los autoadhesivos, de modo que el tamaño del pdf es de 205 x 25 mm.
Desafortunadamente no he logrado que imprima esos 25 mm de largo y se detenga la impresora, sino que la impresora se sigue tragando el papel.
Alguien sabe como hacer para que la impresora se detenga?
Publicado: 03/04/2009 12:36 pm
Y digo yo ahora:
¿De qué manera podriamos, en este diseño de tabla, meter una imagen en la primera celda?.
Desde mi sitio genero un PDF con esta clase, y tengo serias dificultades para cuadrar la salida.
Veanlo desde:
http://www.autocasionextremadura.com/catalogo/pass-baratos.html
Publicado: 13/04/2009 12:16 am
Hola a todos mi pregunta es: ¿Como hago para que los datos de una tabla extraida de MySQL se alinien a la izquierda de la celda, especialmente los datos que contienen cantidadas numericas.
Publicado: 13/04/2009 4:04 pm
hola quisiera saber por que al generar el pdf me sale en blanco no me sale ningun dato. este es mi codigo
equire_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“biblioteca_bd”, $conexion);
$queEmp = “SELECT nombre, cedula, apellido FROM usuarios”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘nombre’=>’nombre‘,
‘cedula’=>’cedula‘,
‘apellido’=>’apellido‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
gracias
saludos
Publicado: 16/04/2009 2:51 pm
una locura este tutorial, estaba buscando una solucion y esta es la mejor, ahora estoy estudiando la clase para poder formatear el archivo de una manera bien elegante.
viejo gracias por compartir los conocimientos.
Publicado: 16/04/2009 6:29 pm
Señores Maestros unijimpe
Felicitaciones por esta excelente web voy a recomendarlos a mis amigos, tengo una sola duda como hago para que tome la hora de mi pais (Venezuela) o la hora del PC, ya que me esta tomando una hora con dos horas de adelanto y no estoy conectado a a una red olo estoy stand alone.
Saludos y gracias de antemano.
Publicado: 18/04/2009 11:15 am
Excelente ejemplo amigo. Existe otro prgrama que instalas en htdocs que se llama fpdf pero debes instalar muchos más archivos… trae varios ejemplos…
Me dejas el desafio de generar una carta de cobranza con este script… Gracias de nuevo.
Publicado: 25/04/2009 1:49 pm
Necesito ayuda. He generado una consulta en php desde mi base de datos y todo bien pero ahora como hago para que estos datos que me muestra los mande a un pdf.
Nota: no que los datos los extraiga de la base de datos si no que de la consulta que realizo en la pagina me los mande a un pdf.
Publicado: 25/04/2009 3:23 pm
Hola de Nuevo enserio necesito su ayuda solo necesito un ejemplo de como hacerlo.
Publicado: 20/05/2009 12:55 pm
Hola a todos, me ha funcionado muy bien el script, solo queisiera saber, como puedo anadir mas columnas al documento, y cambiar al nacho de las mismas, gracias
Saludos desde Mexico!
Publicado: 02/06/2009 4:01 am
hola necesito hacer un link en el pdf para regresar a la pagina anterior sin necesidad de hacerlo con la barra de navegacion.. alguien me puede ayudar gracias..
Publicado: 02/06/2009 11:39 am
necesito alinear los valores de las columnas a la derecha ya que vienen alineadas a la izquierda, como puedo hacer
Publicado: 04/06/2009 4:22 pm
Wenas! yo el rpoblema que tengo es que cuando genero el PDF no me coge bien los caracteres con acentos.
Por ejemplo, si pongo Tecnología me sale TencologÃ-a.
¿Alguien sabe como puedo solucionarlo, please?
Thanks! :-)
Publicado: 05/06/2009 5:39 pm
Oye como le hago para modificar los colores de los renglones?
Publicado: 06/06/2009 11:37 pm
AYUDENME POR FAVOR….ESTOY TRATANDO DE INCLUIR LA LIBRERIA PARA PODER GENERAR EL PDF SIN EMBARGO AL INSERTARLO EN MI PAGINA Y LUEGO DAR CLIK EN EL ENLACE ME APARECE ESTE ERROR :
Warning: require_once(class.ezpdf.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\agrosystem\prueba.php on line 7
Y ESTE OTRO :
Fatal error: require_once() [function.require]: Failed opening required ‘class.ezpdf.php’ (include_path=’.;C:\php5\pear’) in C:\AppServ\www\agrosystem\prueba.php on line 7
Y LA VERDAD ES QUE COPIE LA CARPETA QUE DESCARGUE Y LA PUSE JUNTO CON LAS OTRAS QUE CONTIENE MI PAGINA E HICE LAS REFERENCIAS COMO CORRESPONDIAN…ES DECIR ASI :
include(‘pdfClassesAndFonts_009e/class.ezpdf.php’);
Y BUENO LUEGO HICE PRACTICAMENTE LO MISMO QUE EN EL EJEMPLO QUE DAN Y NO ME RESULTA…AGRADECERIA MUCHO QUE ME AYUDARAN CON ESO PORQUE POR LO VISTO ES UNA EXCELENTE HERRAMIENTA! GRACIASSS Y RESPONDANME PORFAVORR…
Publicado: 06/06/2009 11:39 pm
ESTE ES EL CODIGO :
selectFont(‘pdf/fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//consultando a la base de datos
$sql=”SELECT id,fecha,rut,cantidad from bono”;
$consulta=mysql_query($sql) or (mysql_error());
$totalbono=mysql_num_rows($consulta);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($consulta)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘fecha’=>’Fecha‘,
‘rut’=>’Rut‘,
‘cantidad’=>’Cantidad ($)‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “INFORME DE BONOS ASIGNADOS\n”;
//$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 07/06/2009 10:35 am
Alan, el problema es el la ruta hacia el archivo class.ezpdf.php no es la correcta, verifica que se acceda correctamente al archivo.
Publicado: 07/06/2009 2:19 pm
vale compadre me funciono :-D!!! y sale todo bonito!!! jejeje buena funcion!!
pero sabes a lo mejor me podrias ayudar en una cosita chica….sucede que en esa funcion estoy mostrando todos los bonos que se han asignado…sin embargo me gustaria mostrar el total de ellos al final de la columna que contiene todos los bonos…. hay alguna forma de hacer eso???
te agradezco mucho tu ayuda :)
Publicado: 14/06/2009 1:09 am
Necetio su ayuda, requiero mostrar un informe con mysql pero que aparezca en las paginas necesarias, osea mi informe se puede llevar mas de una hoja, y solo he podido mostrar en una sola, diganme que hice mal. thanks
Publicado: 18/06/2009 1:26 pm
Hola… muy buen material, me ha servido bastante, pero me gustaria pedirte un poco de ayuda en un tema en particular, necesito hacer un contrato en pdf el cual lo voy a llenar con datos de mysql y texto propio, tu tienes algun ejemplo de insercion de datos en pdf pero sin tabla desde mysql???
seria de gran ayuda para mi, gracias.
Publicado: 28/06/2009 6:02 pm
Buenas tardes Maestro:
Queria que me dieras una ayudita con un problema que tengo con mi codigo, necesito que se imprima en el pdf la fecha en la cual se ejecuta el archivo es decir si hoy ejecuto el codigo que me genera el pdf que esta fecha aparezca en el mismo, te adjunto mi codigo para ver si me aydas tengo una variable llamada $d = $_POST["dato"]; donde almaceno dicha fecha pero no logro que me aparezca en el pdf con un texto a compañandola.
Publicado: 14/07/2009 1:29 pm
la verdad ya utilice tu ejemplo,perola verdad
ya generado el codigo y creado la base de datos
,donde colocotodo los scrip
para mandar hacer esta consulta,ayuda
porfavor
Publicado: 15/07/2009 11:27 am
Amigo me pueden ayudar con esto en el IE 6.0 sale esto.
Notice: Undefined index: nombres in C:\wamp\www\UDP\pdf\class.ezpdf.php on line 695
y en firefox me sale
“el archivo no empieza por ‘%pdf’.
Publicado: 17/07/2009 10:57 am
Muy bueno el foro ya lo solucione
muchas gracias.
Publicado: 19/07/2009 7:57 pm
Tambien me pasa lo mismo:
“el archivo no empieza por %pdf-”.
Cual es la solucion???.
Publicado: 20/07/2009 12:24 pm
Varonaro, lo unico que hize fue revisar mi base de datos, el cual los campos lo tenia en mayusculas y yo lo estaba llamando con minusculas eso es todo
Saludos cordiales. desde chile.
Publicado: 20/07/2009 9:18 pm
Necesito ayuda con un problema que se me presenta al ejecutar, ya he hecho lo que dicen algunos comentarios de intertar con diferente explorador, pero no funciona…. sale lo siguiente (de antemano agradezco la ayuda que me puedan brindar).
%PDF-1.3 3 0 obj endobj 4 0 obj stream xœ}TMSÛ@ ½çWèØûé]s àNa(ÄåÐ[š˜N·žÐþýjm¯‘I–‹g´zû´Ö{’‚ë‰@ëàß伄Ó/¤B+ |„¢Ž vd”A©Á+‡Ú@¹†Oóân6/ ¸,ࡸ-§ ¸˜}+æWÓ›«ÓËÙ| ‹âvúÊ_œv\IK”9x¡Ñv¬MõX5Õnõ²ds….ã¨ßM½~]ík†‘Ö¢P´Zîö/ëåš”ð¨ý]nê†#ŒD=ªµ®W¯Ûj7*¦EŽJpÔ®Þþl*±.´øÈ{öõ~¹aH£ {ð¨XN½½ì±Z=ó6ÙL¢uó¹n€@ç ðoó4Q5•–í ºn=œt5œÃäx‚N(m? î’>Ç\l U–`Ë3tæA‰KZÕZ£#³•MåÇ&z§æúý0”èbŽèÇ~@t1CÄIŽˆ>æˆ~>D3D·ˆècŽèh@t1CĹˆˆ>fˆ±u¼ÕM…ÒY¸T»[>U Ooþ-TÙy endstream endobj 1 0 obj endobj 5 0 obj endobj 2 0 obj >> endobj 6 0 obj <> endobj 7 0 obj <> endobj xref 0 8 0000000000 65535 f 0000000813 00000 n 0000000997 00000 n 0000000009 00000 n 0000000087 00000 n 0000000901 00000 n 0000001085 00000 n 0000001161 00000 n trailer <> startxref 1264 %%EOF
Publicado: 23/07/2009 2:30 pm
Muchas gracias, ToolsZigrit
La solucion era mas simple(Limpiar)
Se añade antes de generar el PDF
ob_clean();<— al principio
Tambien esta la funcion:
ob_end_clean();
Publicado: 23/07/2009 5:36 pm
Jason,
Hace lo que comento Varonaro y tambien revisa tu base
Saludos cordiales…
Publicado: 24/07/2009 10:58 am
Hola Amigos, para todas aquellas personas que no an podido hacer correr el pdf, o quieren agregar logo, cambiar los margenes poner pie de pagina les sugiero que visiten esta pagina ahi se explica todo
http://www.fpdf.org/
Saludos cordiales desde chile..
Publicado: 28/07/2009 9:40 am
[...] http://blog.unijimpe.net/generar-pdf-con-php-y-mysql/ [...]
Publicado: 31/07/2009 8:07 am
Felicidades por el sitio, es de gran ayuda. Alguien me podria decir como poner los numeros con 2 lugares decimales, pues luego de la consulta SQL y la alineacion a la derecha del PDF quedan todos los numeros con formatos diferentes.
Saludos desde Uruguay
Publicado: 31/07/2009 8:59 am
Buenas, tengo una pequeña duda, estoy generando un reporte desde mi base de datos, imprimo 5 columnas, una de ellas es totalventa, ahora, mi duda es; puedo crear una variable con el campo valortotal para crear un contador??? la verdad he intentado haciendo la consulta como se hace normalmente en php, de la siguiente manera:
(por ahora solo he intentado que me imprima la consulta)
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“comer”, $conexion);
$queEmp = “Select * from venta where fecha=’$f’”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘nombre’=>’NOMBRE‘,
‘documento’=>’DOCUMENTO‘,
‘producto’=>’PRODUCTO‘,
‘cantidadtotal’=>’CANTIDAD‘,
‘valortotal’=>’VALORTOTAL‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$total=$row['valortotal'];//aqui creo la variable haciendo la consulta a la base de datos
$txttit = “REPORTE DE VENTAS DEL $fe\nComercializadora SENA\n”;
$pdf->ezText($total,18,array(’justification’=>’center’));//aqui trato de imprimir la variable
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha de impresión de reporte: “.date(“d/m/Y”), 10);
$pdf->ezStream();
?>
De antemano agradezco su ayuda…
Publicado: 31/07/2009 9:38 am
Listo ya arregle el problema de los formatos de los numeros. Hice esto y anduvo.
while($datatmp = mysql_fetch_assoc($res)) {
$ixx = $ixx+1;
$tot = $datatmp["Total"];
$datatmp["Total"] = number_format($tot,2,’,',’.');
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
Saludos
Publicado: 31/07/2009 10:58 am
Hola estoy haciendo un sitio con postnuke y estroy trabada con los reportes.El problema es el siguiente: tengo una tabla de indicadores fijos insertados por el usuario cada uno de estos tiene uun valor diferente que varia dependiendo de la empresa y el triemstre, hasta ahi todo esta claro solo tengo que extraer los datos de la bd y el reporte es facil, la cosa se complica cuando necesito poner otros indicadores que se derivan de los que ya estan insertados. ejemplo tengo un indicador A con valor i=2 y otro B con i=3. yo necesito escribir en ese momento un indicador C=al valor de i para A mas el valor de i para B. esta enredado espero que alguien me ayude por fa.
Muchas gracias
Publicado: 31/07/2009 11:29 am
Hola me gustaria saber como introducir una imagen, obtenida de una consulta a mi base de datos, en una celda de una tabla. Muchas gracias
Publicado: 02/08/2009 11:31 am
El ejemplo esta muy bueno y me sirvio para generar los reportes pero si deseo que el titulo este centrado como lo puedo hacer????
Publicado: 06/08/2009 11:58 am
Ammm sera q soy muy tonta o x q no me sale el codigo cuando lo ejecuto no sale me sale error y ya hice la conexion y el codigo lo copie de sta pagina pero no me sale me podrian ayudar.
Gracias, lo ocupo para titularme
Gracias desde Guadalajara
Publicado: 07/08/2009 10:09 am
Hola Vanessa si quieres mandame un correo al nombre que tengo puesto en hotmail y yo te digo como tambien soy de gdl y tambien lo utilice para el titulo jajaj cuidate y suerte..
Publicado: 08/08/2009 3:03 pm
Hola, alguien que sepa crear pdf con php podria ayudarme a hacer una plantilla????
gracias por leer.
Publicado: 10/08/2009 12:47 am
Hola foro !!
espero me puedan ayudar. como cambio de carta a oficio y vertical?
Gracias……
Publicado: 10/08/2009 8:58 am
hola, mira tengo un problema, diseñe mi sitema en flash con php y mysql,mis formularios entan en flash donde recibo y envio variables desde y hastaa php, realize un formulario que es de reportes, donde me muestran difernetes datos segun la consulta que haga pero ahora no se como puedo imprimir esos reportes en PDF, si envio las variables desde flash a PHP para que hagan sus respectivas consultas..y me muestre enl PDF
Publicado: 14/08/2009 1:15 pm
AMMM OTRA VEZ AKI, TENGO UN ERROR EN LA LINEA 15 DONDE SGO LA CONSULTA. viaticoss ES MI TABALA Y VIATICOS ES LA BD. PERO NO SE X Q M MARCA COMO ERREOR. ME PODRIAN AYUDAR X FAVOR YA SOLO ME FALTA 5 DIAS PARA ETRMINARLO X FAVOR EM URGE.
(ESTE E SMI CODIGO Q TENGO STA AHORA)
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$db=”viaticos”;
$host=”localhost”;
$usr=”root”;
$psw=”";
$cnn;
$cnn=mysql_connect($host,$usr,$psw) or die (“Error en la conexion”);
mysql_select_db($db)
$sqlVia = “SELECT * FROM viaticoss”;
$resVia = mysql_query($sqlVia, $conn) or die(mysql_error());
$totVia = mysql_num_rows($resVia);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resVia)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘nombre_empleado’=>’Numbre‘,
‘puesto’=>’Puesto‘,
‘dir_area’=>’Dir Area‘,
‘dir_gral’=>’Dir Gral‘,
‘destino’=>’Destino‘,
‘fecha_desde’=>’Fecha desde‘,
‘fecha_hasta’=>’Fecha Hasta‘,
‘hora_salida’=>’Hora Salida‘,
‘hora_llegada’=>’Hola Llegada‘,
‘comision’=>’Comision‘,
‘obj_comision’=>’Obj Comision‘,
‘obj_estrategico’=>’Obj Estratejicos‘,
‘transporte’=>’Transporte‘,
‘abonar_cuenta’=>’Abonar Cuenta‘,
‘clave_presupuestal’=>’Clave Presupuestal‘,
‘banco’=>’Banco‘,
‘autorizacion’=>’Autorizacion‘,
‘modelo’=>’Modelo‘,
‘placas’=>’Placas‘,
‘marca’=>’Marca‘,
‘tipo’=>’Tipo‘,
‘cilindros’=>’Cilindros‘,
‘rendimiento’=>’Rendimiento‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Foarmato en PDF \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
(GRACIAS DESDE GUADALAJARA)
ATT:VANE
Publicado: 18/08/2009 11:51 am
Está muy bien el pequeño pero muy útil tutorial.
Saludos.
Pd. Hay que meter todo el contenido del zip en la carpeta wwww.
Publicado: 04/09/2009 12:01 pm
[...] de ficheros PDF desde lenguaje PHP. En Google el primer resultado ha sido una página titulada Generar PDF con PHP y MySQL, justo lo que buscaba. Sin embargo, en Bing, los primeros resultados son páginas que hablan sobre [...]
Publicado: 07/09/2009 3:36 pm
Cordial Saludo: Alguien me puede ayudar diciendome de que manera justifico un texto de varios renglones.
Agradezco antemano la colaboración a la presente.
Gracias..
Publicado: 09/09/2009 12:57 pm
Hola a todos,
Tengo un Mac OSX con apache, tengo una forma donde ingreso 50 valores, estos los guardo como document.cookie = “booking=”+document.getElementById(“txtbooking”).value; en otra pagina para imprimir lo recibo como solo me recibe un maximo de 20 valores a que se debera el problema ?
Gracias de antemano,
Publicado: 10/09/2009 2:21 pm
Haber si pudierais decir algo al respecto.
Este es el mensaje que me dá de error en php
Warning: include_once(class.pdf.php) [function.include-once]: failed to open stream: No such file or directory in H:\wamp\www\wedprueba\class.ezpdf.php on line 3
Warning: include_once() [function.include]: Failed opening ‘class.pdf.php’ for inclusion (include_path=’.;C:\php5\pear’) in H:\wamp\www\wedprueba\class.ezpdf.php on line 3
Fatal error: Class ‘Cpdf’ not found in H:\wamp\www\wedprueba\class.ezpdf.php on line 5
Publicado: 10/09/2009 10:25 pm
Victorio Guerrero, para que en el segundo envío no se envíe a la primera dirección debes eliminarla utilizando:
$mail->ClearAddresses();Esto lo debes poner antes de agregar la dirección del segundo destinatario.
Santi, el mensaje significa que no esta el archivo class.pdf.php. Verifica que este archivo este ubicado en la ruta correcta.
Publicado: 14/09/2009 10:03 am
Y si quisiésemos hacer una consulta dinámica a mysql? Es decir, en el script que tengo, existe un SELECT dentro de un bucle for, que va iterando sacando datos de mysql segun lo que el usuario haya indicado en un formulario. ¿Cómo podría capturar esos datos para luego construir el pdf?
gracias
Publicado: 14/09/2009 10:34 am
El código es el siguiente, con el muestro por pantalla, pero no se como podría hacer que ese “muestro por pantalla” aparezca un “Exportar a pdf”:
for ($i=0;$i<$numerodemeses;$i++) {
echo "".$arraymes[($contadormes-1)]." de ".$contadorano."SEMANA 1SEMANA 2SEMANA 3SEMANA 4";
echo "SEDE/Sdíasracionestotaldíasracionestotaldíasracionestotaldíasracionestotal";
$consultasedes="SELECT nombre FROM sedes WHERE nombre LIKE '$sede' ORDER BY id";
$consultasedesejec=mysql_query($consultasedes,$conectando);
while($filasede=mysql_fetch_array($consultasedesejec)) {
#echo " $contadormes mes antes";
#echo " $contadorano ano antes";
echo "$filasede[0]";
for($o=1;$o<=4;$o++){
$consultay="SELECT * FROM datos WHERE sededato='$filasede[0]' AND semanadato=$o AND mesdato=$contadormes AND anodato=$contadorano";
#echo $consultay;
$consultayejec=mysql_query($consultay,$conectando);
if (mysql_num_rows($consultayejec)==0) {
echo "000 $";
}
else {
$diaporracion=mysql_fetch_array($consultayejec);
echo "$diaporracion[5]$diaporracion[6]".$diaporracion[6]*$precio." $";
}
}
echo "";
mysql_free_result($consultayejec);
}
if ($contadormes>=12) {
$contadorano++;
$contadormes=1;
}
else {
$contadormes++;
}
#echo " $contadormes mes ";
#echo " $contadorano ano ";
mysql_free_result($consultasedesejec);
}
echo "";
}
Publicado: 16/09/2009 10:51 am
buena buena me resulto….
solo una duda he tratado de cambiar el tamaño de la letra pero no me resulta si alguine me puede ayudar
gracias!
Publicado: 10/10/2009 9:25 pm
Ey men como puedo generar un pdf a partir de un xml es que e utilizado el fpdf pero las etiquetas () tambien aparece a la hora de formarce el pdf y nose como quitarlo agradeceria mucho tu ayudad saludos desde mexico
Publicado: 11/10/2009 2:35 pm
cunado voy a crear el pdf con la clase ezpdf pe muestra un error:
el archivo no empieza por ‘%pdf’…. que puedo hacer en este caso??????
Publicado: 21/10/2009 10:44 am
hola quisiera que me ayuden me salen muy bien los registros sin embargo tengo el problemas de las tildes y eñes me salen unos signos extraños la base esta en utf8_spanish_ci
Publicado: 26/10/2009 2:35 pm
Mi problema es, tnego una base de datos en mysql donde utilizo nombre, apellidomaterno, apellidopaterno, etc.., el chiste es que se genera bien mi tabla, soloq ue pues cada dato en su columna, como le hago para que el nombre y los apellidos salgan en la misma columna: este es mi codigo del array:
$titles = array(
‘IDalumnos’=>’Id‘,
‘nombres’=>’Nombres‘,
‘amaterno’=>’Apellido Paterno‘,
‘apaterno’=>’Apellido Materno‘
Como mezclo datos en una columna, saludos…
Publicado: 27/10/2009 11:55 pm
Hola Unijimpe , estoy probando este codigo para hacer una cosulta desde una base de datos, aparentemente me abre el pdf pero me sale este mensaje :
el documento seleccionado no se puede abrir
ya revise la consulta y no tengo problemas en la consulta me sale perfecta pero me da ese error.
Te adjunto mi codigo si me puedes ayudar te agradeceria mucho es para una aplicación local que tengo uso el XAMMP con PHP 5.6 y base Mysql y tengo el un pdf de la laptop donde hago las pruebas y el desarrollo
la página del pdf es: http://www.pdfcomplete.com/cms/hppl/tabid/108/Default.aspx?r=q8b3uige22
Codigo :
require_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
include(“conexion.php”);
$link=Conectar();
$varSQL = “select F.fctnumro as num, F.fctfeemi as femi, F.fctfeven as fven, d.mddnumer as med, ucase(concat(c.clnapell,’ ‘,c.clnnombr)) as nombre, f.lctactual as lectura, f.fcttotal as total ” .
” from fctramst as F, clnmdmst as M, clntemst as C, mddormst as D ” .
” where fctmesde = ” . $_POST['txtMes'] . ” and fctanio = ” . $_POST['txtAnio'] .
” and f.CLMCODIG = m.CLMCODIG and m.clncodig = c.clncodig and m.mddcodig = d.mddcodig “;
$result=mysql_query($varSQL, $link);
$totEmp = mysql_num_rows($result);
if ($_POST[txtTipo] == “PDF”){
//Crear pdf para archivo
$ixx = 0;
while($datatmp = mysql_fetch_assoc($result)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num Fact‘,
‘femi’=>’Fecha Emision‘,
‘fven’=>’Fecha Vencimiento‘,
‘med’=>’Medidor‘,
‘nombre’=>’Cliente‘,
‘lectura’=>’Lectura‘,
‘total’=>’Total‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “REPORTE DE FACTURAS GENERADAS\n”;
$txttit.= “Año Lectuta : ” . $_POST['txtAnio'] . ” \n”;
$txttit.= “Mes Lectuta : ” . $_POST['txtMes'] . ” \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
}
Publicado: 13/11/2009 3:03 pm
Que tal pana… Necesito que me ayudes en cuanto a como generar en pdf usando php
con mysql… segui todos los pasos que dice en la pagina pero cuando voy a generar el pdf y me sale un error que dice:
Fatal error: call to a member function ezText() on a non- object in c: \wamp\www\PHP_PdF\Mysql\imprimi.php on line 13.
que sera ese error?? que puedo hacer??
1) selectFont(‘localhost/PHP_Pdf/Mysql/Pdf.php/fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
?>
2)
3) $ixx));
}
$titles = array(
‘Num’=>’num‘,
‘Cedula’=>’Cedula‘,
‘Nombres’=>’Nombres‘,
‘Apellidos’=>’Apellidos‘,
‘Direccion’=>’Direccion‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
?>
4) <?php
$txttit = "Personas of Guama\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 17/11/2009 7:13 pm
Que tal pana… Necesito que me ayudes en cuanto a como generar en pdf usando php con mysql… segui todos los pasos que dice en la pagina pero cuando voy a generar el pdf me sale el siguiente error: Fatal error call to a member function eztext() on a non-object in C: \wamp\www\PHP_Pdf\Mysql\impri.php on lone 13
que sera ese error?? que puedo hacer??
1) selectFont(‘localhost/PHP_Pdf/Mysql/Pdf.php/fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
?>
2)
3) $ixx));
}
$titles = array(
‘Num’=>’num‘,
‘Cedula’=>’Cedula‘,
‘Nombres’=>’Nombres‘,
‘Apellidos’=>’Apellidos‘,
‘Direccion’=>’Direccion‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
?>
4) <?php
$txttit = "Personas of Guama\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 20/11/2009 12:04 pm
hola, todos por favor ayudenme mi problema es el siguiente tengo una tabla en mysql que contiene un campo donde guarda la ruta de una foto este campo es de tipo varchar, no se como hacerle para que me muestre la foto y no la ruta en pdf.
Utilizo fpdf, AppServer, yo ya estuve investigando pero no lo he podido resolver, ya busque he encontre
$pdf->(Image, ..-pero hice la prueba con foto estatica y si funciona pero en caso de un registro de una base de datos como se hace.
se los agradeceria mucho que me pudiera decir como resolver este problema.
muchas gracias.
Publicado: 22/11/2009 1:14 am
El generador de pdf funciona perfectamente con pocos registros de una consulta mysql. Por ejemplo limitando la consulta a 103 registros. Para una hoja tamaño carta.
SELECT id, nombre, apellido, cargo, sueldo FROM empleados ORDER BY id ASC limit 103
Al realizar de nuevo la consulta con un numero superior de registros (104 o más), genera un archivo pdf que no es accesible, al intentar abrirlo el adobe reader emite el siguiente mensaje:
“Error al abrir el documento. El archivo está dañado y no puede repararse”
En la página del creador de las clases pdf no hay ninguna referencia a dicho inconveniente http://www.ros.co.nz/pdf/
Mi pregunta es similar a la realizada por Omer Moreno y Erwin, que presentan también problemas con registros mysql con determinado tamaño.
¿ Existe alguna solución para manejo de grandes registros ?
Muchas gracias.
Publicado: 22/11/2009 1:51 pm
Hola Romane, vi con atención tu comentario e hice las pruebas para verificar lo que comentabas, he insertado 226 registros en mi tabla (casi el doble del valor que comentas) y el PDF se genera correctamente.
Puedes ver el ejemplo funcionando en:
http://samples.unijimpe.net/pdf/php-mysql-extend.php
Revisa bien tu script es probable que tengas algún error que no has notado o quizá sea alguna configuración de tu servidor.
Publicado: 24/11/2009 12:27 pm
DISCULPA LA MOLESTIA DE ANTEMANO PERO
NECESITO HACER UN REPORTE CON UN FORMATO PREIMPRESO DE UNA FACTURA
Y COMO SABES LA FACTURA TIENE UN TOTAL IMPORTE, IGV
COMO HAGO ESO EN EL REPORTE
PARA QUE ME SUME TODAS LAS FILAS
CREEME LO E INTENTADO PONIENDOLE UN ALIAS A LA CONSULTA QUE SE LLAME TOTAL
PERO NO ME FUNCA YA QUE CUANDO PONGO ESO ME SALE DE TODOS YO SOLO QUIERO LA SUMA DE UNA COLUMNA DEL REPORTE
Publicado: 24/11/2009 12:29 pm
ME PUEDES AYUDAR CON UN EJEMPLO DE ESE TIPO CREO QUE ESS UN POCO MAS COMPLEJAS
Publicado: 24/11/2009 10:19 pm
kpeski, lo que tienes que hacer es ir sumando paso a paso, esto lo haces dentro del for que obtiene los datos de la consulta:
$total = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$total = $total + $datatmp['precio'];
$data[] = array_merge($datatmp, array('num'=>$ixx));
}
echo $total // subtotal
echo $total*0.19 // valor del IGV
echo $total*1.19 // valor total
Publicado: 25/11/2009 12:58 pm
hola…
pues estoy trabajando con la libreria R&OS para pasar datos de PHP a PDF.
Hasta ahora no he tenido problemas con informacion de la bd, pero al momento
de querer insertar una imagen no he podido.
He utilizado las funciones ezImage(), addJpegFromFile() y addpngFromFile(), pero ninguna me ha funcionado….
me gustaria saber en donde debbo de tener localizada (en que carpeta) la imagen que quiero insertar…ya que he intentado con rutas, por ejemplo
C:/xampp/…./images/imagen.jpeg y no funciona…
tambien he intentado poniendo solo el nombre del archivo “imagen.jpeg” y tampoco
estos son los ejemplos con los que he intentado…
$image = $this->config->item(‘base_url’).(‘/assets/images/pvn.jpeg’);
$pdf->ezImage($image, 420, 420, ‘none’, ‘left’);
$pdf->ezImage(“C:\xampp\htdocs\softcredit\assets\images\pvn.jpeg”, 420, 420, ‘none’, ‘left’);
me gustaria que alguien que ya haya utilizado esto me ayudara
GRACIAS!!!
Publicado: 26/11/2009 11:19 pm
Que bonito y útil código. Gracias
Publicado: 29/11/2009 6:24 pm
Hola, he estado intentando utilizar la libreria pero tengo un gran problema
Quiero escribir un titulo y mas abajo un subtitulo pero no puedo hacer que haya un salto de linea , he tratado con el siguiente codigo
$doc->ezText(“HOLA”,12);
$doc->ezText(”,12);
$doc->ezText(“MUNDO”,12);
$doc->ezStream();
Lo que obtengo con este codigo es la palabra MUNDO encima de HOLA.
y lo que intento hacer es algo asi:
HOLA
MUNDO
Gracias por su ayuda
Publicado: 05/12/2009 10:43 am
Hola necesito ayuda estoy tratando de generar un PDP pero me da un erro:
El archivo no empiza por %PDP que estoy haciendo mal usando la clase class.ezpdf.php, quien me puede ayudar por favor
Publicado: 05/12/2009 9:10 pm
saludos, esta muy bueno el codigo, pero lo intente modificar para una tarea pero me sale un mensaje ke dice:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\wamp\www\php lomedic\class.pdf.php on line 1616
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 5 bytes) in Unknown on line 0
y mi codigo es el siguiente:
selectFont(‘fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“lomedic”, $conexion);
$queEmp = “SELECT row_id,solicitud_, consecutiv,curp,paterno,materno,nombre,edad,sexo FROM integrante”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[0] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’NUM‘,
‘row_id’=>’ID‘,
‘solicitud_’=>’SOLICITUD‘,
‘consecutiv’=>’CONSECUTIVIDAD‘,
‘curp’=>’CURP‘,
‘paterno’=>’PATERNO ‘,
‘materno’=>’MATERNO‘,
‘nombre’=>’NOMBRE‘,
‘edad’=>’EDAD‘,
‘sexo’=>’SEXO‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “CONSULTA LOMEDIC BD\n”;
$txttit.= “Mostrando datos de la tabla \n”;
$pdf->ezText($txttit, 11);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 8);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 8);
$pdf->ezStream();
?>
espero alguna respuesta pronto n_n
Publicado: 18/12/2009 12:16 pm
hola unijimpe tu script es muy util.. solo quisiera saber si tienes algun tutorial para saber como modificarlo para que me mostrara esta consulta, ya que si la pongo asi no me arroja ningun resultado.
$queEmp = “select telemarketing.id, orden, fecha, servicio.descripcion, tel, nombre from telemarketing inner join servicio on servicio.id=telemarketing.servicio where vendedor=’$_POST[ls_vende]‘ order by fecha”;
y para agregar un encabezado…
Publicado: 12/01/2010 5:46 am
Hola, mi problema es el siguiente. Quiero extraer a formato pdf los datos de mi base Mysql, pero quiero que estén organizados por filas. Es decir, cada dato será la cabecera de una fila, así hasta completarlos todos. Y claro en este ejemplo los datos aparecen organizados por columnas. A ver si alguien me podría ayudar.
Gracias!!
Publicado: 15/01/2010 10:51 pm
que tal,
necesito generar un pdf pero necesito “combinar” celdas en los titulos.
Muchas gracia por su ayuda
Publicado: 22/01/2010 10:35 pm
Que tal, soy estudiante de la lic. en informatica. realmente agredezco infinitamente a unijimpe por este tipo de aportaciones, estos son un gran ejemplo para otros tipos de proyectos, me gustaria tratar un poco mas de cerca con usted o ustedes para dudas tienen ya mi email a su alcance, gracias nuevamente y espero que este sitio siga creciendo, Gracias Foro, Gracias unijimpe
Publicado: 28/01/2010 11:50 am
Hola , tengo un problema , al parecer me marco error al principio , pero logre solucionarlos con los coments de aki…. mi problema es k al abrise el pdf me marca un error…..dice el archivo no incia con %PDF-
Y ya no lo abre alguien me puede ayudar?
Publicado: 28/01/2010 9:14 pm
Excelente tu ejemplo, de verdad gracias por la ayuda.
Sin embargo, estoy presentando un detalle y es el mismo que se les ha presentado a muchos, ejecuto el scripts directamente y funciona perfectamente, ahora bien lo trato de ejecutar siendo llamado desde una opcion de un menu y me muestra lo que a muchos:
%PDF-1.3 %�� 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 612.000 792.000] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream x�uSKN��������`%n1″q��H�7%jP���g�F�rH8 N��O!/a�e���]{n
Este menu esta diseñado con mootools, estoy usando IE, probe con Mozilla y obtengo el mismo resultado.
Agradezco mucho quien me pueda ayudar a resolver este detalle…
Saludos
Alejo
Publicado: 04/02/2010 2:45 pm
mi inquietud es la siguiente…
trabajo en un sitio web donde tengo un menu arbol en un archivo index.php (donde tengo codigo html) y llamo a travez de ajax a los archivos referentes de cada submenu…
uno de esos archivo es informe.php donde extraigo de la base de datos y muestro un informe .pdf..
el tema es q si quiero acceder al informe a travez del menu arbol situado en el index.php me sale un codigo raro…
si quiero acceder al informe a travez de la barra de direccion del navegador:
……./informe.php
me abre el informe .pdf sin problema…
se q quizas es pq envio codigo html antes (en el menu arbol..), alguien sabe como puedo solucionarlo?
muchas gracias desde ya..
Celina.-
Publicado: 05/02/2010 9:54 am
Los que tengan problemas con el documento no empieza por ‘%pdf-’
Desactiven la fecha y hora al final del codigo
Publicado: 08/02/2010 10:09 pm
hola miren tengo un problema, me encanto como hacer reportes en ezfpdf..
el problema es que hago una consulta desde php con mysql desde los datos desplegados selecciono los que necesito y envió estos a el informa pero necesito que con los datos que envió y necesito que los ordene en un informe que tengo predefinido..
por favor responder a mi correo
desde ya muchas gracias
Publicado: 10/02/2010 11:18 am
nadie soluciono el problema de q no abre a travez de un link y si ejecutando el archivo .php directamente?
me sigue saliendo:
%PDF-1.3 %�� 1 0 obj endobj 2 0 obj endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font >> /MediaBox [0.000 0.000 612.000 792.000] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj endobj 6 0 obj endobj 7 0 obj stream x�uSKN��������`%n1″q��H�7%jP���g�F�rH8 N��O!/a�e���]{n
alguien puede ayudarme?
gracias
Publicado: 20/02/2010 5:55 pm
genera el pdf pero no muestra los datos de la base de datos…..
ayuda………
Publicado: 23/02/2010 1:32 pm
Hola quisiera si alguien me puede ayudar con un sistema q stoy desarrollando lo quiero hacer q mysql se conecte con word2007 e imprima un reporte en word con datos de la base de datos de mysql
ose a qcuando mande a llamar el documento en word ya este conectado con mysql y listo para imprimir
Ayuda por favor jbautista06@hotmail.com
Publicado: 23/02/2010 2:59 pm
quiero ese mismo codigo pero para postgresql este es mi codigo pero me da muchos errores
selectFont(‘../fonts/courier.afm’);
// $pdf->ezSetCmMargins(1,1,1.5,1.5);
$con=pg_connect(“host=127.0.0.1 port=5432 dbname=prueba user=postgres password=postgres”);
// $pg_select_db(“prueba”, $con);
$queEmp = “SELECT codigo,serial FROM asignaciones”;
$resEmp = pg_query($queEmp,$con);
$totEmp = pg_numrows($resEmp);
$ixx = 0;
while($datatmp = pg_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘codigo’=>’Codigo‘,
‘serial’=>’Direccion‘,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/02/2010 3:06 pm
quiero ese mismo codigo pero para postgresql este es mi codigo pero me da muchos errores
selectFont(‘../fonts/courier.afm’);
// $pdf->ezSetCmMargins(1,1,1.5,1.5);
$con=pg_connect(“host=127.0.0.1 port=5432 dbname=prueba user=postgres password=postgres”);
// $pg_select_db(“prueba”, $con);
$queEmp = “SELECT codigo,serial FROM asignaciones”;
$resEmp = pg_query($queEmp,$con);
$totEmp = pg_numrows($resEmp);
$ixx = 0;
while($datatmp = pg_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘codigo’=>’Codigo‘,
’serial’=>’Direccion‘,
);
$options = array(
’shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/02/2010 4:59 pm
Hola amigo georg primero que nada:
Antes de solicitar ayuda es recomendable que que leas y te documentes un poco, es decir no preguntar por preguntar sin haber leido aunq sea un poco antes. Te recomiendo que estudies un poco el lenguaje del lado del servidor PHP y que estudies un poco SQL con postgresql.
Cuando tengas aunque sea una pequeña base y no esperes codigos milagrosos no tendras respuestas buenas. Hasta luego camarada. XD
Publicado: 28/02/2010 9:55 pm
HOlaaa quisiera saber como poder cambiarle el enconding a utf-8, al arreglo data[], espero respuestaaa gracias, ya que me salen signos extrañoos
Publicado: 28/02/2010 9:57 pm
$ixx = 0;
while($datatmp = mysql_fetch_assoc($res)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
para especificar mas mi duda, quisiera poner los datos obtenidos en la consulta $res, ponerlos en UTF-8 para poder mandarlos a la parte que genera el pdf, espero su respuesta
Publicado: 03/03/2010 5:17 am
Hola aver si me pueden ayudar, estoy muy desesperado he intentado paso a paso para crear my pdf pero me marca un error estoy probando con firefox, ya no se que hacer porfavor ayudenme. este es mi codigo es sobre inventario de equipo de computo.
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“bdsist_inventario”, $conexion);
$queEmp = “SELECT Marca, Modelo, Num_serie, Observaciones FROM cpu ORDER BY Marca ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘Marca’=>’Marca‘,
‘Modelo’=>’Modelo‘,
‘Num_serie’=>’Numero de Serie‘,
‘Observaciones’=>’Observaciones‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “Reporte de CPU\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
y me sale el sigiente error:
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\reporte\reporte.php:2) in C:\xampp\htdocs\reporte\class.pdf.php on line 1916
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\reporte\reporte.php:2) in C:\xampp\htdocs\reporte\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\reporte\reporte.php:2) in C:\xampp\htdocs\reporte\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font <> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj <> endobj 6 0 obj <> endobj 7 0 obj <> stream xœ•MOA†ïù>¶cÏ÷äMàPÚ�áÀ1$“6Q`ai+õß×e£,AXZv½ó¼;¶Þµ§Sp½!ˆ9£±ÓœŒØ Ü/>]—§¦ýU`Qàlrû¦kM0ô±ËÃÓ¦ùN¾ŒaÞîÖëóª18QŒ6ìÎB¯gùöû¡ó=fF“Žl¿œµóY0äјc@³(›¦K¤ˆôΉJ[‹sSÚUÙ«†EGGÐï÷/¥ý3›¯šÇòò >÷ÔF &¥…1’€hyÚ–’z/ ,r!d $} g#f G “‚ó1cÔpž0h8ÃèœË†¶zèÜu*¿8ùQ4~±1¨üb]PùÅrTùŤ¤ò‹ñYåéÈ*¿b•_8š7ý2¸êôjvÛgÛ«;q+c„{â&ÕÄ9!÷í§X?h~ã2ÿ9Ö®·ÿÈžÈ%™ÓáhÉÒŽ¸Gí¢ißsCŽC¶‡R2î\O”Ñïf×?W‰Y endstream endobj 8 0 obj <> endobj 9 0 obj <> stream xœ™ÍjìF…÷~ -“MGý+iyM~Àdû|3™€±s!—×rUÕê©s fc†þŽz¾j¥zx|™ÊZ™§¥”ã�ÔÇ‚î@|æ94v>…ùœaã@},è>�Ÿ¶¶ÙùTâ3„o}ˆ�õA >K•Oc>gØø�Pº�ñ©û…ì|æs†�õ± û�Ÿ’Baç³2Ÿ3l|�¨Ý€ø¤%lì|6æs†�õ± û�Ÿ˜Cfçg&t¦�² 8„궆•6hÖ¡‡ô BDh-!Ñb-zH!�*dA BmoÝô„XÒF€ YÐ…�ˆP!ÒbMzH!�*dA BeoÞô„X—ÒF€ YÐ…�ˆPja¦’ÄÚô6B�TÈ‚.@„ö¯ªô„XŸÒF€ YÐ…�Beka£’Äõ¾B B�T{§’Ä:õ6B�TÈ‚.@„ÚV:)²N=¤�² ¡šù(X§ÒF€ YÐ…�ˆP^Yšuê!m„�¨]€¥Â‡éÄ:õ6B�TÈ‚.@„æOÓ‰uê!m„�¨]À!”·ÊÇéÄ:õ¾B B�T3Ÿ§ëÔCÚP!º�jÔ‰uê!m„�¨]€ÕÈ’êÄ:õ6B�TÈ‚.@„rã#ubzH!�*dA B)ñ™:³N=¤�² ¡yá3ufzH!�*dAp¥-ó™:³N=¤o…ˆ�B BËÊgêÌ:µ›®e¨gÖþÝôëWV¤Ÿ¾°*ï‹÷*½ø×ש³l|þÏì®â¦¹êÇY^Úˆk÷¹h¹òÇŠÌnVnÚ©Ó³:½4ÿwÞ§¢e¦™?¬dvtӗ러L/~½²2ÝÍ/´Î;ãRç®DŸ2»³ºé§Ç·ÏoOïŸY±Þ5¬V/üëÓ#«ÕÝû6~Էȯ2»i»é׿%…ú|¹üñþ…Të^ñ×?¤Z7¾ÿ‚¯ôW—ÆŸß › Ü´[±{[±w…S±ÿôüã§gRoKüñ°°¡ÃMÓÞä¦ùÍæÎx¯ôŽø¾¶’Ç¿¿ýò§J:Þ[,ùÛlø1ÉB¬Ç(ô>=ËŹï,zPWl2Íóñ£’u’k:ÞjœIY±É×ã5Ç©)+6Y¡ êT´/GÌ7+ÿu·zü˜ÎÝtEBqø‚s§á+ÿ<×H endstream endobj xref 0 10 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000487 00000 n 0000000971 00000 n 0000001076 00000 n trailer <> startxref 2208 %%EOF
Que puedo hacer.
Publicado: 03/03/2010 6:49 am
Si vais a crear pdfs a partir de php y mysql, deberíais echarle un vistazo a la clase mpdf (http://mpdf.bpm1.com/)
Publicado: 03/03/2010 11:29 am
Primero que todo, quiero felicitar a los administradores de la pàgina, por tan valioso aporte en la generación de reportes pdf desde php y mysql.
Me funciona perfectamente el codigo…..estoy enviando una consulta desde php y me genera el registro que quiero…..perfecto….. pero quiero que este informe NO me lo genere en una tabla……sera posible….????? alguien me puede ayudar….???? por ejemplo…que el informe aparezca asi, para poder darle formato al informe:
Identificaciòn: 8
Nombres: Jhon Faiber Cerquera
Direccion: Calle 4 No. 8-78
Telefono: 5784589
Zona: Urbana.
Gracias por su ayuda….
Publicado: 04/03/2010 2:45 pm
Al igual que el amigo Jhon Faiber y muchos mas nos gustaria saber como poder general un Reporte PDF donde no solamente muestre la informacion en tablas, ya que en ocaciones no es requerido.- en mi caso lo que necesito generar es algo similar a esto:
Nro ID: 34
Centro : Dr. Miguel Concha
Encargado : Xavier Mendoza
Cantidad Detalle
3 Colchones
5 Sabanas
10 Frazadas
Observación : Esto es necesario para el centro
___________________ _____________________
Finanzas V°B° Adm. Municipal
___________________
Encargado del Area
Publicado: 05/03/2010 7:51 am
Por lo menos logre hacer que la información no saliera en tablas, pero me gustaría saber mas sobre las funciones, sentencias, variables, y nomenclatura a utilizar para general un PDF, ya que me gustaría lograr hacer un reporte bien detallado.
$txttit.= “Nro. Req.: ” . $_POST['identi'] . ” \n”;
$txttit.= “Digitador : ” . $_POST['x_usuario'] . ” \n”;
$txttit.= “Fecha Creacion : ” . $_POST['x_fecha'] . ” \n”;
$txttit.= “Centros : ” . $_POST['x_centros'] . ” \n”;
$txttit.= “Unidad Encargada : ” . $_POST['x_mail'] . ” \n”;
$txttit.= ” “. ” \n”;
$txttit.= “Cantidad “. ” Detalle”. ” \n”;
$txttit.= $_POST['x_cantidad1'] . ” ” .$_POST['x_detalle1'].” \n”;
$txttit.= $_POST['x_cantidad2'] . ” ” .$_POST['x_detalle2'].” \n”;
$txttit.= $_POST['x_cantidad3'] . ” ” .$_POST['x_detalle3'].” \n”;
$txttit.= $_POST['x_cantidad4'] . ” ” .$_POST['x_detalle4'].” \n”;
$txttit.= $_POST['x_cantidad5'] . ” ” .$_POST['x_detalle5'].” \n”;
Publicado: 05/03/2010 2:17 pm
Para los que quieren mostrar los datos sin ponerlos en una tabla pueden leer: http://blog.unijimpe.net/generar-pdf-con-php/ y si quieren saber todas las funciones disponibles para formatear el contenido la pueden encontrar en la documentación oficial: http://www.ros.co.nz/pdf/readme.pdf
Publicado: 10/03/2010 4:41 pm
hola a todos ,excelente el tutorial,pero quisiera saber con ese pdf ya elaborado lo puedo enviar a un correo electronico..usando la funcion mail…Gracias y spero q me responda..jeje..Saludos!
Publicado: 13/03/2010 11:23 am
Alguien sabe como aliniar el texto a la derecha con addText ? Osea que la posicion o punto donde se empieza escribir el texto sea al final de la cadena y no al inicio… No se si me explique bien. Asi:
[puntero]Texto escrito <– Lo que hace addText
Texto escrito[puntero] <– Lo que yo quiero hacer
Publicado: 15/03/2010 3:17 pm
Muy buen aporte se agradece ya me funciona a las mil maravillas ahora tratare de incrementar el numero de columnas y tratar de personalizar el ancho y la orientacion PERO EN GENERAL ES UN APORTE EXCELENTE, se tiene la base y se pude seguir uno solo
Publicado: 17/03/2010 11:35 am
Buenos dias amigo quiria hacerte una pregunta es posible alinear texto a la derecha en una tabla usando la clase EZPDF ??? Por ejemplo quisiera alinear cantidades enteras y decimales hacia la derecha, muchas gracias de antemano por tu respuesta. Saludos…
Publicado: 17/03/2010 1:59 pm
hola soyu nueva en esto tengo un gran problema modifique el ejemplo pero cuando lo corro me manda un mensage acrobat q dice
“hay un problema con con Acrobat Reader. Salga y vuelva a intentarlo”
no se si es porq trabajo en un gratuito en internet
Publicado: 24/03/2010 11:31 am
#Codigo para generar reportes en pdf de base de datos Access.
Execute($cad)or die(“Error consultando”);
$data=array();
$rs->MoveFirst();
while (!$rs->EOF) {
$line =($rs->fields[0] . ” ; “. $rs->fields[1] . ” ; ” . $rs->fields[2]);
$data[]=explode(‘;’,chop($line));
$rs->Movenext();
}
$options = array(‘shadeCol’=>array(0.9,0.9,0.9),’xOrientation’=>’center’,'width’=>500);
$header=array(‘Cod_Responsable’,'Nombre_Responsable’,'Des_Oficina’);
include (‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘./fonts/Helvetica.afm’);
$txttit = “REPORTE DE SOLICITANTES\n”;
$txttit.= “PDF con PHP Y ACCESS \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data,$header, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 24/03/2010 11:33 am
#Codigo para generar reportes en pdf de base de datos Access.
include(“conecta.php”);
$cad =”SELECT Cod_Responsable, Nombre_Responsable, Des_Oficina FROM Solicitantes,Oficinas where Oficinas.cod_Oficina = Solicitantes.Cod_Oficina”;
$rs=$db->Execute($cad)or die(“Error consultando”);
$data=array();
$rs->MoveFirst();
while (!$rs->EOF) {
$line =($rs->fields[0] . ” ; “. $rs->fields[1] . ” ; ” . $rs->fields[2]);
$data[]=explode(‘;’,chop($line));
$rs->Movenext();
}
$options = array(‘shadeCol’=>array(0.9,0.9,0.9),’xOrientation’=>’center’,'width’=>500);
$header=array(‘Cod_Responsable’,'Nombre_Responsable’,'Des_Oficina’);
include (‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘./fonts/Helvetica.afm’);
$txttit = “REPORTE DE SOLICITANTES\n”;
$txttit.= “PDF con PHP Y ACCESS \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data,$header, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Publicado: 24/03/2010 11:36 am
# Archivo Conecta permite leer Base de datos AcceSS
# Ojo Necesitas incluir la lbreria adodb.inc.php
# Descargala de internet
include(“C:\wamp\php\ext\adodb.inc.php”);
$db = &ADONewConnection(‘access’);
$dsn = “Driver={Microsoft Access Driver (*.mdb)};Dbq= C:\wamp\www\avilaTv\Inventario.mdb;Uid=Admin;Pwd=;”;
$db->Connect($dsn)or die(“Error conectandose”);
Publicado: 24/03/2010 11:40 am
Ruta para descargar las Librerias ADO para PHP
http://phplens.com/lens/adodb/docs-adodb.htm#adorecordSet
“Que la fuerza este con ustedes. No se dejen llevar por el lado Oscuro”
Publicado: 28/03/2010 2:11 pm
100% recomendado, todo me funciono
Publicado: 05/04/2010 5:34 pm
Muchas gracias por el aporte!
El ejemplo anda a las mil maravillas, me sirvio muchisimo para generar ciertos reportes.
El unico problema que se me presento fue al mostrar más de 100 registros en el documento, Adobe Reader muestra un mensaje de error diciendo “El Archivo esta dañado y no puede recupararse”
Si alguien sabe algo al respecto se lo agradeceria bastante
Muchas gracias!
Publicado: 07/04/2010 8:39 pm
buenas noches disculpe podria decirme como poner texto en negritas usando zepdf
Publicado: 07/04/2010 9:23 pm
Para poner el texto en negritas debes utilizar la etiqueta <b> de la siguiente forma:
$pdf->ezText("<b>texto</b>");Publicado: 09/04/2010 8:55 am
Tengo el siguiente problema deseo generar varios archivos pdfs , que se diferencian por un id que les paso por metodo get, el problema es que siempre me genivo era el mismo informe porque yo supongo que el archivo queda en la cache saludos.
Publicado: 19/04/2010 4:37 pm
PARA LOS QUE TENGAN ESTE ERROR:
%PDF-1.3 %âãÏÓ 1 0 obj endobj 2 0 obj endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj endobj 6 0 obj endobj 7 0 obj stream xœ•MOA†ïù>¶cÏ÷äMàPÚ�áÀ1$“6Q`ai+õß×
EL PROBLEMA NI ES EL NAVEGADOR, NI ES MYSQL, EL PROBLEMA RADICA EN LA CONFIGURACION DE PHP.INI, HE PROBADO EN VARIOS SERVIDORES LINUX Y EN INSTALACIONES COMO LOCALHOST EN WINDOWS, DEBEN TENER LOS SIGUIENTE HABILITADO:
short open tag= on
asp tags=on
output=on
y2k compilance=on
zlib output compresion=on
implicit flush = on
expose php= on
report memleaks = on
track errors=on
EL MAS IMPORTANTE
register globals = on
register long arrays=on
register argc argv=on
magic quotes gpc
PARA LOS QUE TENGA WINDOWS
enable dl=on
Publicado: 21/04/2010 10:08 pm
Huy gracias por este turtorial tan vacano me seirvio mucho ya no hayaba qye hacer por que tengo que crear unos reportes pero no sabia como crearlos dinamicamente y con arreglos.. y muchas gracias por el demo que me funcionò a la perfecciòn.. GRACIAS…….
Publicado: 22/04/2010 11:28 am
excelente tutorial muy didactico y me saco de un gran apuro
Publicado: 23/04/2010 11:12 am
Buen dia compañeros, a mas que le di vueltas al problema que tengo no veo done estoy mal, tengo este codigo, pero no me pinta la tabla, ya no veo por donde e igual es algo muy simple, espero me puedan ayudar: el codigo es el siguiente:
$getResult=mysql_query("select element,result,outRange,refVal,units from temp_result",$link)or die (mysql_error());
$ixx=0;
while($datatmp=mysql_fetch_assoc($getResult))
{
$ixx= $ixx+1;
$data[] = array_merge($datatmp, array('numero' => $ixx));
}
$titles= array(
'element'=>'elemento',
'result'=>'resultado',
'outRange'=>'',
'refVal'=>'referencia',
'units'=>'unidades'
);
$options = array(
'showHeadings'=>0,
'shaded'=>0,
'showLines'=>0,
'fontSize'=>8,
'xPos'=>500,
'width'=>520,
'xOrientation'=>'left'
//'cols'=> array('reference' => array('justification' => 'center'))
);
$pdf->ezTable($data, $titles, '', $options);
Publicado: 23/04/2010 3:47 pm
Hola compañeros alguno de ustedes saben como puedo darle formato a los numeros?
Necesito formatear un campo que contiene valores numericos y debo formatearlos aqu esta mi codigo
$titles = array(
‘num’=>’Nº‘,
‘fechaexp’=>’Fecha exp.‘,
‘tramite_cod_tramite’=>’Clase de obra‘,
‘cons_lic’=>’N. Licencia‘,
‘nombres’ =>’Nombres ‘,
‘apellidosorazonsocial’ =>’Apellidos ‘,
‘direccion’=>’Direcciòn del predio‘,
‘barrio’=>’Barrio del predio‘,
‘total’=>’Valor liquidado‘,
);
El valor total es el que debo formatear y ya he intentado con “number_format” pero no funciona
Publicado: 05/05/2010 7:22 pm
HOLA QUIEN ME PDODRIA A ELAVORAR UNOS REPORTES EN PHP PERO EN PDF
Publicado: 06/05/2010 9:49 pm
chido por el aporte me saco de dudas y ya esta echo lo kie keria gracias men por este tip
Publicado: 07/05/2010 2:31 pm
para dar formato a un campo numerico debes hacer esto.
$pdf->cell(0,20,number_format($variable,'','','.'),0,0);con eso deberia funcionar el formato de tu variable
Publicado: 10/05/2010 9:45 pm
Hola , estoy creando un pdf , pero me da el siguiente error a ver si me puedes dar una mano..
Could not find in the Resources dictionary – using Helvetica instead.
te lo agradecería mucho si me ayudaras.
Saludos.
Publicado: 24/05/2010 1:32 pm
puse este codigo…
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“bdclientes”, $conexion);
$queEmp = “SELECT nombre, apellidos, telefono, correo, interesado, preferente FROM tdatos ORDER BY nombre ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nomnbre’=>’Nombre‘,
‘apellidos’=>’Apellidos‘,
‘telefono’=>’Telefono‘,
‘correo’=>’Correo‘,
‘interesado’=>’Interesado‘,
‘preferente’=>’Preferente‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “Clientes registrados\n”;
$txttit.= “PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
se ejecuta el codigo pero el pdf me aparece con los titulos empalmados, y la tabla aparece muy pequeña y sin datos que hice mal??
Publicado: 28/05/2010 2:54 am
Hola, buenas tardes,
Disculpen.
Todo sale bien cuando tengo la librería en el mismo directorio que el script en PHP, pero cuando intento cambiar la librería a otro directorio por ejemplo lib/pdf/class.ezpdf.php simplemente me muestra el PDF pero no muestra ningún contenido.
Muchas gracias.
Publicado: 29/05/2010 3:37 pm
soy nuevo en esto de la creacion de pdf, hago todo como lo explicas, pero no me muestra los datos de la tabla, me muestra una tabla chica, con los espacios de los datos que tengo, pero no me da los valores almacenados
este es el codigo:
$pdf =& new Cezpdf('a4');
$pdf->selectFont('../fonts/courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect("localhost", "root", "sql");
mysql_select_db("venta", $conexion);
$queEmp = "SELECT grupo, agente, fecha_ent FROM grupo";
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array('num'=>$ixx));
}
$titles = array('num'=>'NUMERO', 'grupo'=>'NOMBRE', 'agente'=>'VENDEDOR', 'fecha_ent'=>'FECHA');
$options = array('shadeCol'=>array(0.9,0.9,0.9), 'xOrientation'=>'center', 'width'=>500);
$txttit = "ventas\n";
$pdf->ezText($txttit, 20);
$pdf->ezTable($data, $titles, '',$options);
$pdf->ezText("\n\n\n", 10);
$pdf->ezText("Fecha: ".date("d/m/Y"), 10);
$pdf->ezStream();
Publicado: 29/05/2010 7:00 pm
Juan, no deberias tener problemas, ahora puedes agregar el siguiente codigo despues de $ixx = 0;
$data = array();Esto indica que la variable $data es un array el cual en las siguientes lineas se va creando.
Adicionalmente puedes verificar que la consulta este devolviendo datos, para ello puedes escribir el siguiente código justo despues de la sentencia while.
print_r($data);
exit();
Tu código debería quedar de la forma:
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array('num'=>$ixx));
}
print_r($data);
exit();
Esto imprimirá todos los datos extraídos de la base de datos antes de mostrarlo en el PDF. Si este código no devuelve datos es síntoma que la consulta esta equivocada o no devuelve datos.
Publicado: 31/05/2010 1:50 pm
hola que tal, soy Juan de nuevo. Con la instrucción que agregaste al código, si me arroga los datos insertados en la tabla. Pero no me muestra el archivo como pdf, este es un ejemplo del valor arrojado:
[2] => Array ( [grupo] => juan [agente] => alberto [fecha_ent] => 2011-05-1
Publicado: 07/06/2010 11:12 am
Tu ejemplo es muy bueno…..felicidees pero me quedo una duda, es posible generar las imagenes de la base de datos en pdf….sería lo maximo
Publicado: 08/06/2010 12:55 pm
como agranda las celdas de los reportes para que los nombres y apellidos no salgasn juntos
Publicado: 12/06/2010 12:05 am
me sale este error de conexion con la base de datos
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\AppServ\www\cinefin\cine1\php\pdf02.php on line 9Error en la conexion : Access denied for user 'ODBC'@'localhost' (using password: NO)
Publicado: 12/06/2010 12:24 am
tato, el mensaje esta indicando que el usuario con el que estas intentando acceder a la base de datos no tiene permisos. Esto puede ser por que ‘ODBC’ no es usuario de tu base de datos o por que no has puesto la clave o has colocado una clave incorrecta.
Publicado: 27/06/2010 5:33 pm
Hola esoty desarrollando un sistema bajo ambiente web y me piden relizar un reporte con pdf llenado el mismo por medio de una base de datos esto es lo que tngo pero no me funciona como hago? Ayudenme se trata d mis pasantias…
Image(‘image/LogoEmpresaCabecera.jpg’,10,8,190);
//—————–Numero de Pagina ———————–//
//Numero de Linea
$this->Ln(12);
//movernos a la derecha
$this->Cell(170);
//Arial italic 8
$this->SetFont(‘Arial’,'I’,8);
//Número de página
$this->Cell(0,10,’Pagina ‘.$this->PageNo().’de {nb}’,0,0,’C');
//——————Fecha ——————————-//
//Numero de Linea
$this->Ln(4);
$this->Cell(0,6,’ Fecha Impresion: ‘.date(“d-m-Y”). ”,0,0,’1′);
//Arial bold 15
$this->SetFont(‘Arial’,'B’,09);
//Numero de Linea
$this->Ln(6);
//Movernos a la derecha
$this->Cell(80);
//Título
$this->Cell(30,10,’COPIAS CONTROLADAS DE DOCUMENTOS
CORRDINADOR DE ASEGURAMIENTO DE LA CALIDAD’,10,0,’C');
$this->ln(7);
$this->Cell(0,3,’1 Normas’,0,0,’1′);
$this->ln(7);
$this->Cell(0,3,’3 Procedimientos ‘,0,0,’1′);
$this->ln(7);
$this->Cell(0,3,’5 Inst. Trabajo’,0,0,’1′);
$this->ln(10);
}
//Pie de página
function Footer() {
//Logo
$this->SetY(-25);
$this->Image(‘image/LogoEmpresaPie.jpg’,10,270,190);
}
//Tabla coloreada
function FancyTable($header,$data) {
//Colores, ancho de línea y fuente en negrita
$this->SetFillColor(255,0,0);
$this->SetTextColor(255);
$this->SetDrawColor(128,0,0);
$this->SetLineWidth(.3);
$this->SetFont(”,’B');
//Cabecera
$w=array(25,80,15,20, 25, 25);
for($i=0;$iCell($w[$i],7,$header[$i],1,0,’C',1);
$this->Ln();
//Restauración de colores y fuentes
$this->SetFillColor(224,235,255);
$this->SetTextColor(0);
$this->SetFont(”);
//Datos
$fill=false;
/*
$tamVector = count($data);
$filas = 2;
for ($i=0;$i<$filas;$i++) {
for($j=0; $jCell($w[$j],6,$data[$j],’LR’,0,’L',$fill);
}
$this->Ln();
$fill=!$fill;
}
*/
$tamVector = count($data);
$fila = $tamVector/6;
$columna = 6;
$z= 0;
for ($i=0; $i<$fila; $i++) {
for($j=0; $jCell($w[$j],6,$data[$z],’LR’,0,’L',$fill);
$z = $z + 1;
}
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,”,’T');
}
}
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->SetFont(‘Arial’,”,8);
$query = “SELECT i.siglas_uni_dep, i.nombre_doc, i.num_rev_actu, i.fecha_rev_actu, i.num_rev_ant, i.fecha_rev_ante FROM ingreso i”;
$result= mysql_query($query, $conn);
if($arr=mysql_fetch_array($result)) {
$siglas_uni_dep = $arr["siglas_uni_dep"];
$nombre_doc = $arr["nombre_doc"];
$num_rev_actu = $arr["num_rev_actu"];
$fecha_rev_actu = $arr["fecha_rev_actu"];
$num_rev_ant = $arr["num_rev_ant"];
$fecha_rev_ante = $arr["fecha_rev_ante"];
}
mysql_free_result($result);
//Títulos de las columnas
$header=array(‘CODIGO’,'DOCUMENTO’,'Rev. N’,'FECHA’, ‘Rev. N anterior’, ‘FECHA anterior’);
//$data=array($query = “SELECT i.siglas_uni_dep, i.nombre_doc, i.num_rev_actu, i.fecha_rev_actu, i.num_rev_ant, i.fecha_rev_ante FROM ingreso i”);
$i = 0;
while {
$data[$i]=row[siglas_uni_dep]
$i=$i+1;
$data[$i]=row[nombre_doc]
$i=$i+1;
$data[$i]=row[num_rev_actu]
$i=$i+1;
$data[$i]=row[fecha_rev_actu]
$i=$i+1;
$data[$i]=row[num_rev_ant]
$i=$i+1;
$data[$i]=row[fecha_rev_ante]
$i=$i+1;
$data[$i] =
$i = $i + 1;
}
$pdf->AddPage();
$pdf->FancyTable($header,$data);
$archivo = “Reportes”.date(‘Y-m-d’).”.pdf”;
$destino = “Reportes/”;
$pdf->Output($destino.$archivo,’F');
//—————————– XML de Salida ——————————-//
$xml.=”";
$xml.=”";
$xml.=”";
echo $xml;
?>
Publicado: 29/06/2010 12:40 pm
Hola, estoy desarrollando una aplicacion web y me pidieron un reporte en pdf y lo voy a generar en extrallendo datos de Una BD he visto el tutorial pero cuando ejecuto el script solo me genera los renglones pero no me imprime los registros Necesito ayuda… mi codigo es el sig…
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“algo”, $conexion);
$queEmp = “SELECT a_amecop, a_nombre, a_publico FROM ARTICULO LIMIT 100″;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
/*$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));*/
}
$titles = array(
‘num’=>’Num‘,
‘a_amecop’=>’Codigo‘,
‘a_nombre’=>’Nombre‘,
‘a_precio’=>’Precio‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 29/06/2010 11:23 pm
Oeeee…a todo los del problema de que no sale la informacion de la BD en la tabla y la fecha y la hora viene superpesta …….. tienen que agregar los fonts…y listo !!
Publicado: 30/06/2010 4:00 pm
Buenas tardes, una consulta, alguien sabe porque despues de seguir todos los pasos aqui señalados, y al generar el pdf me da un error asi ‘el archivo esta dañado y no puede repararse’ a que se debe??? que puedo hacer para solucionar esto?
Publicado: 01/07/2010 11:04 am
Q Honda Pillin ya le he cambiado la libreria y aun asi sigue sin mostrarme los datos de mi BD…
Saludos.
Publicado: 02/07/2010 11:39 pm
hola tengo un problema con esto de pdf… espero me puedan ayudar, el problema esta en que creo una pagina.php para mostrar en pdf los registros de una tabla pero solo me muetra la cedula y no los otros campos que pido,los comentarios del codigo es un scrip q voy a usar mas adelante para mostrar unos datos de otra tabla pero queria salir primero de esta…bueno aca les dejo mi script:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$queEmp = “SELECT cedula, nombres, apellidos FROM materia “;
$resEmp = mysql_query($queEmp) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
/* $sql = “SELECT corteI, corteII, corteIII FROM notas”;
$consulta = mysql_query($sql) or die(mysql_error());
$total = mysql_num_rows($consulta);
*/
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘cedula’=>’Cedula‘,
‘apellido’=>’Apellido‘,
‘nombre’=>’Nombre‘,
‘corteI’=>’Corte I‘,
‘corteII’=>’Corte II‘,
‘corteIII’=>’Corte III‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
por favor les agradeceria mucho a los q me puedan ayudar con esto, es que soy nuevo en este ambito…
Publicado: 12/07/2010 11:59 am
eso mismo me pasa a mi, hago una consulta y solo me muestra los datos del primer campo que mando a llamar en la consulta.
Publicado: 12/07/2010 6:07 pm
Como puedo darle la ubicacion donde yo quiero que imprima el texto usando eztext
Publicado: 08/08/2010 8:40 pm
Para el tamaño de letra en las tablas, se puede crear una variable para ello, de esta manera
unset ($opcion1);
$opcion1['showlines'] = 2;
$opcion1['showHeadings'] = 1;//muestran o no los titulos
$opcion1['shaded'] = 1;
$opcion1['shadeCol'] = array(0.9,0.9,0.9);
$opcion1['fontSize'] = 8; //aqui cambian la letra
$opcion1['textCol'] = array(0,0,0);
$opcion1['xPos'] = ‘center’;
$opcion1['width'] = 800; //ancho de tabla
luego cuando se llama la tabla, se llama la variable q creamos
$pdf->ezTable($data,$titles,”,$opcion1);
Eso
Saludos Fraternales
Publicado: 27/08/2010 6:32 pm
Alguien sabe como eliminar las líneas internas de una tabla, que queden solo el cuadro de afuera e internamente nda de lineas?
Publicado: 30/08/2010 4:06 pm
Eres un trome todo funcionó a la perfeción era la solución a mi necesidad de emitir reportes desde una base de datos. Gracias
Publicado: 03/09/2010 3:32 pm
Para a los que aun les aparezcan símbolos raros pueden mandar toda a la consulta directamente a un archivo pdf que después abrirá el navegador de forma automática.
Escriban lo siguiente al final de su código.
//Determinar un nombre temporal de fichero en el directorio actual
$file = basename(tempnam(‘.’, ‘tmp’));
rename($file, $file.’.pdf’);
$file .= ‘.pdf’;
//Guardar el PDF en un fichero
$pdf->Output($file, ‘F’);
//Redirección
header(‘Location: ‘.$file);
Publicado: 01/10/2010 9:17 am
Hola
Esta muy bueno tu blog, pero lo explica para tablas, yo quisiera imprimir una planilla de esta forma:
logo Titulo
Fecha: xxxxxxxx Sector: xxxxxxxxxxxxx
Descripcion del equipo : xxxxxxxxxxx Responsable: xxxxxxx
Donde sector, descripcion del equipo y responsable son de una tabla MYSQL.
Ya yo se como capturarlos de una tabla con su ejemplo pero no se como mostrarlo en una planilla
Gracias esperando su ayuda
eliamtr@hotmail.com
Publicado: 08/10/2010 3:44 pm
Queria saber si es posible que los datos en vez de salir :
Nombre Apellido F_Nac
Juan Perez 12/05/1985
Pueden organizarse así
Nombre Juan
Apellido Perez
F_Nac 12/05/198
desde ya muchas gracias, el ejemplo me ha sido de gran utilidad.
Publicado: 24/10/2010 9:46 am
y si este codigo lo trabajo con postgresql, ya que lo modifique y tengo esto pero no me muestra la consulta
selectFont(‘fonts/courier.afm’);
//$pdf->ezSetCmMargins(1,1,1.5,1.5);
$queEmp = “SELECT rut_empleado,nombre,apellido,password FROM empleados”;
$resEmp = pg_query($conexion,$queEmp) or die(pg_error());
$totEmp = pg_num_rows($resEmp);
$ixx = 0;
while($datatmp = pg_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘rut_empleado’=>$ixx));
}
$titles = array(
‘rut_empleado’=>’RUT‘,
‘nombre’=>’NOMBRE‘,
‘apellido’=>’APELLIDO‘,
‘password’=>’Password‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 25/10/2010 8:51 pm
hay podria ayudarme, me funciono perfecto mi problema es al querer yo manejar el tamaño de las columnas como puedo modificarlas?
gracias de antemano
Publicado: 04/11/2010 1:02 pm
unijimpe, excelente aparte, nada mas que trabaja bien solo con 2 hojas (con informacion ) y haciendo una busqueda del problema es que si el tamaño del archivo excede los 500k es cuando manda el error “EL ARCHIVO ESTA DAÑADO Y NO PUDE REPARARCE” unijimpe HAY ALGUNA PARTE DE LA CONFIGURACION (class.ezpdf o class.pdf u en apache o php) a donde se pueda corregir esta situacion, agradeciendo la atencion y pronta respuesta
Publicado: 05/11/2010 12:26 am
Hice las pruebas respecto a mostrar resultados en mas de 2 paginas como mencionas y no he tenido problemas. He modificado el ejemplo y he obtenido un archivo que genera 5 paginas (http://samples.unijimpe.net/pdf/php-mysql-adv.php) y lo puedo ver sin problemas, ahora este archivo solo pesa 16Kb por lo que no se como llegas a obtener 500kb.
Si tu archivo es muy grande es posible que este consumiendo mucha memoria o este tomando mucho tiempo en crearlo para ello puedes cambiar los parámetros de configuración de tu PHP para aumentar el tiempo de ejecución, memoria a utilizar.
http://davidwalsh.name/increase-php-script-execution-time-limit-ini_set
http://davidwalsh.name/increase-php-memory-limit-ini_set
Publicado: 06/11/2010 4:26 pm
hola necesito ayuda probe los codigos y no me generan el reporte me manda a la pagina y me da este error selectFont(‘../fonts/courier.afm’); $pdf->ezSetCmMargins(1,1,1.5,1.5); $conexion = mysql_connect(“localhost”, “root”, “”); mysql_select_db(“demo”, $conexion); $queEmp = “SELECT nombre, direccion, telefono FROM empresa ORDER BY nombre ASC”; $resEmp = mysql_query($queEmp, $conexion) or die(mysql_error()); $totEmp = mysql_num_rows($resEmp); $ixx = 0; while($datatmp = mysql_fetch_assoc($resEmp)) { $ixx = $ixx+1; $data[] = array_merge($datatmp, array(‘num’=>$ixx)); } $titles = array( ‘num’=>’Num’, ‘nombre’=>’Empresa’, ‘direccion’=>’Direccion’, ‘telefono’=>’Telefono’ ); $options = array( ‘shadeCol’=>array(0.9,0.9,0.9), ‘xOrientation’=>’center’, ‘width’=>500 ); $txttit = “BLOG.UNIJIMPE.NET\n”; $txttit.= “Ejemplo de PDF con PHP y MYSQL \n”; $pdf->ezText($txttit, 12); $pdf->ezTable($data, $titles, ”, $options); $pdf->ezText(“\n\n\n”, 10); $pdf->ezText(“Fecha: “.date(“d/m/Y”), 10); $pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10); $pdf->ezStream(); ?> de ante mano gracias por tu ayuda..
Publicado: 07/11/2010 4:13 pm
hola unijimpe, excelente articulo, ,pero porque no puedo descargar el codigo del link q nos das :S . espero q me respondas.
Publicado: 07/11/2010 5:03 pm
hola de nuevo Unijimple xD , estuve revisando otro articulo tuyo y tampoco pude descargarlo ,q crees q sea , será problemas con la pagina Box , o es q mi internet bloquea a esa pagina? :S , o como puedo hacer para bajar tus post?? umm …
-Jonathan-
Publicado: 09/11/2010 1:46 pm
Hola, ojala alguien me pueda ayudar. Estoy tratando de llenar unas etiquetas a partir de datos tomados de una BD. Dependiendo del num de registros es el numero de paginas que necesito generar en PDF. Mi problema basicamente es que cada que paso de una pagina a otra se me mueven los textos, no me funcionan las coordenadas que le habia dado en un inicio. Alguna idea de porque pasa esto?
Publicado: 14/11/2010 9:51 am
Para el header y footer utilizo esto:
//footer & header$pages = count($pdf->ezPages);
for ($pageno = 1; $pageno reopenObject($pdf->ezPages[$pageno]);
$pdf->addJpegFromFile('img/header.jpg', 50, 507, 900, 100, 'quality=100'); //header
$pdf->addText(490, 25, 6, 'Hoja ' . $pageno . ' de ' . $pages); //footer
$pdf->closeObject();
}
Para crear fonts .afm, esto:
http://onlinefontconverter.com/
Lo que no logro mostrar es las negritas, subrayado e itálicas. Pruebo lo del manual, pero nada, no aparece el formato.
Publicado: 16/11/2010 9:33 pm
hola unijimpe, estube probando este post y ps si sale todo chvr, mi pregunta es,, para cada consulta (es decir si quiero q me imprima otro pdf) tengo que hacer un nuevo archivo “php-mysql.php”(tu lo as nombraste asi donde esta la sentencia sql) ? y en cada uno modificar la sentencia sql, o como hacer.
Wno yo el “php-mysql.php” lo llamo con un href=”php-mysql.php” y ahi recien se abre el pdf, nose si está bn ponerle en un HREF ?
aconsejame en esas dos preguntras y espero q hayas entendido mi primera pregunta, y gracias por la respuesta q me des.
Saludos.
Publicado: 19/11/2010 1:51 am
Amigo disculpa la molestia y gracias por el scrip ya corrio en mi pc la cosa es la siguiente quisiera agregar mas paginas como lei mas arriba y vi el ejemplo mas no el codigo y tomas informacion de campos de diferentes tablas GRACIAS DE ANTEMANO
Publicado: 23/11/2010 5:23 pm
excelente código a la primera me funciono muchas gracias por su aporte
Publicado: 23/11/2010 8:55 pm
Hola a todos, me parece un excellente post, aunque tengo el siguiente problema, el pdf se genera con exito la primera, pero para la siguiente vez ya no y para rematar se bloquea el explorador, he visto los procesos que se generan y el proceso que se crea al momento de crear el pdf no termina se mantiene ejecutando.He revisado la clase de arriba hacia abajo y nada por ningun lado.Alguien mas experimentado.
Publicado: 29/11/2010 2:52 pm
hola estoy buscando como hacer un pdf en multi hojas esto depende de una cosulta q cada 20 registros m cambie de hoja se agradecera cualquier ayuda
Publicado: 30/11/2010 9:04 pm
Hola, en realidad no soy de los que piden mucha ayuda porque google siempre encuentra todo, pero ahora necesito ayuda.
Usando tu ejemplo, generé un PDF y los visores (adobe reader y foxit reader) me dicen que está el archivo corrupto.
Sabes a que podrá deberse?
Publicado: 03/12/2010 11:22 pm
Hola a todos, despues de matarme la cabeza buscando la solucion al siguiente error la encontre:
“el archivo no empieza por ‘%pdf’.
la solucion es que las llaves del array data deben coincidir con los claves de del array titles, de lo contrario sale el error antes mensionado, espero haber aportado algo, muy buen tutorial, gracias a este excelente blog por compartir informacion tan importante.
Publicado: 07/12/2010 2:23 pm
hola, tu ejemplo me sirvio de mucho, solo que al momento de generar mi reporte en pdf me sale error. Te agradeceria mucho si me podrias ayudar . Gracias
El error es:
00000126 00000 n
0000000317 00000 n
0000000354 00000 n
0000000459 00000 n
0000000522 00000 n
0000000912 00000 n
0000012003 00000 n
0000012110 00000 n
trailer
<>
startxref
12223
%%EOF
Publicado: 28/12/2010 8:08 pm
Hola excelente aporte, espero me puedas ayudar con el siguiente problema, ya genero el reporte pero tengo una columna que maneja numeros como puedo hacer para que se alinea a la derecha?
Gracias
Publicado: 30/12/2010 3:00 pm
hola necesito crear el pdf estilo factura pero no logro mover el neto, iva , tota
despues que me imprima el detalle de los productos
Publicado: 30/01/2011 1:12 pm
Para todos lo que le sale error
Warning: Cannot modify header information – headers already sent by (output started at D:\xampplite\htdocs\Imprimir.php:2) in D:\xampplite\htdocs\class.pdf.php on line 1917
Warning: Cannot modify header information – headers already sent by (output started at D:\xampplite\htdocs\Imprimir.php:2) in D:\xampplite\htdocs\class.pdf.php on line 1919
%PDF-1.3 %âãÏÓ 1 0 obj endobj 2 0 obj endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj endobj 6 0 obj endobj 7 0 obj stream xœm?oÂ@ Gw>Åo¤‹c_îâKFÔ¤Pñ’ˆc`¬ U… ©ºõÛCAH ¼>ËÏ~ƒQ‚wCËH,i‡¬ˆ#Fú†£éâÖóÉûdÖÖ4¯Ó ÒuÜíFOâ‹çÝzß~¾{ì:´¯ ¶ýí¸Åf›Õr äLNý¿é‘‡H*÷J ž ¥Á’Î ~þÙ_ï^ øVÐtÛ¯êòèã¬K昣‘ÁL¥ºqÿkÛÄU,Un¸ŠXRn$ª¤·Ä¾Wdá endstream endobj 8 0 obj endobj xref 0 9 0000000000 65535 f 0000000015 00000 n 0000000080 00000 n 0000000126 00000 n 0000000280 00000 n 0000000309 00000 n 0000000414 00000 n 0000000477 00000 n 0000000750 00000 n trailer startxref 857 %%EOF
1.- VERIFICAR LA RUTA DE TUS FONTS
SI UTILIZAS ESTE PAQUETE, LO PUEDES EJECUTAR ASI
$pdf->selectFont(‘fonts/courier.afm’);
2.- SI UTILIZAS WAMP SERVER EJECUTALO PRIMERO EN MOZILLA FIREFOX
DESPUES EN IE.
EJ. De documento tamaño Legal, y de forma horizontal.. este ejemplo funciona a la perfeccion, si sigues las indicaciones o lo ejecutas tal a como se te muestra.
selectFont(‘fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“NOMBRE_BASE_DATOS”, $conexion);
$queEmp = “SELECT campos_de_bd, campo_bd FROM tabla_contenedora ORDER BY orden_primer_campo ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
’1campo_de base_dato=>’Etiqueta_encabezado_de tabla‘,
’2campo_de base_dato=>’Etiqueta_encabezado_de tabla‘,
‘etc=>’etc‘,
);
$options = array(‘shadeCol’=>array(0.9,0.9,0.9);
‘xOrientation’=>’center’,4,
‘width’=>930
);
$txttit = “Etiqueta de encabezado del documento\n”;
$pdf->ezText($txttit, 16);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 8);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezStream();
?>
Publicado: 13/02/2011 5:49 pm
Hola está muy buena la información pero no logro hacer que la información de mi base de datos se muestre en el pdf aqui esta mi codigo por favor si podeis ayudarme se los agradecería :)
selectFont(‘../fonts/Times-BoldItalic.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“stcsystem”, $conexion);
$queEmp = “SELECT cic FROM cliente”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’No’,
‘cic’=>’Cédula‘,
‘nombrec’=>’Nombre‘,
‘apellido’=>’Apellido‘,
‘telefono’=>’Telefonoc‘,
‘telefono’=>’Telefono2c‘,
‘direccion’=>’dirección‘,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “STC SYSTEM\n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”).”\n\n”, 10);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/02/2011 8:23 pm
Con esto se soluciona lo de acentos en el archivo class.pdf en la linea 2157
2156 function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
2157 $text = utf8_decode($text);
2158 if (!$this->numFonts){$this->selectFont(‘./fonts/Helvetica’);}
Publicado: 19/03/2011 9:22 pm
help ago lo de el tuto solo que un poco a mi manera pero no sale que estoy asiendo mal
selectFont(‘fonts/corier.afm’);
$pdf->ezSerCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”,”root”,”julio”);
mysql_select_db(“banco”,$conexion);
$consulta=”select numcuenta,saldo from Cuentas”;
$respuesta= mysql_query($consulta,$conexion) or die (mysql_error());
$totcon= mysql_num_rows($respuesta);
while($datatemp=mysql_fetch_assoc($respuesta)){
$data[]= $datatemp;
}
$titles = array(
‘numcuenta’=>’numcuenta’,
‘saldo’=>’saldo’
);
$options = array (
‘showHeading’=>1,
‘shadeCol’=>array (0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttitle=”Cuentas”.”\n\n\n”;
$pdf ->ezText($txttitle,12);
$pdf->ezTable(“$data,$titles,”,$options);
$pdf->ezText(“\n\n\n”,10);
$pdf->ezText(“Fecha:”.date(“d/m/Y”),10);
$pdf->ezText(“Hora:”.date(“H:i:s”).”\n\n”,10);
$pdf ->ezStream();
?>
Publicado: 20/03/2011 9:45 pm
Esta muy bueno gracias
Publicado: 16/04/2011 10:29 am
hola
Publicado: 19/04/2011 4:49 pm
Tengo un problema al generar el PDF, el error es el siguiente “El archivo no empieza por %PDF” si alguien puede ayudarme xfavor comente..GRACIAS
Publicado: 20/04/2011 8:48 am
Estoy poniendo el mismo codigo, pero me imprime es un monton de caracteres, no me muestra el pdf, que estoy haciendo mal?
Me sale algo como esto
%PDF-1.3 %âãÏÓ 1 0 obj <> endobj 2 0 obj << /Type /Outlines
Yo estoy utilizando la conexión de bd que tengo en el proyecto donde lo requiero y sobre la bd que uso.
Gracias
Publicado: 20/04/2011 8:56 am
Ah bueno, yo ya verifique la ruta de los fonts, El codigo es este
require_once(‘../ejemplo/class.ezpdf.php’);
require_once(‘../_conf/bdcon.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//estos parametros son los que uso con bdcon que lo puse arriba
mysql_select_db($database_bdcon, $bdcon);
//consulta con alias para que quede igual
$queEmp = “select idcaso as nombre, idpersonal as direccion, idestado as telefono from casos where loginremi=’info’ and idestado=’1′”;
$resEmp = mysql_query($queEmp, $bdcon) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
echo “a”;
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘nombre’=>’Empresa‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Publicado: 20/04/2011 1:27 pm
Ya me sirvió, pero existe alguna forma de darle un ancho especifico a cada columna? ya intenté con ‘nombrecolumna’=>array(‘width’=>10), pero me sigue dejando con el mismo tamaño.
Gracias
Publicado: 26/04/2011 5:10 pm
Para poder paginar el documento en pdf y que pueda salir en todas las páginas utiliza:
ezStartPageNumbers(x,y,size,[pos],[pattern],[num])
Ejemplo:
x: Es la posición sobre el Horizontal de izquierda a derecha y lo establecemos a 500 más o menos la mitad.
Y: Es la posición sobre el Vertical de abajo a arriba y lo establecemos en 18
Size: es el tamaño de la letra
[pos]: No lo estableceos y lo colocamos en ‘’ dos comillas simples
[pattern]: Es lo que nos va a salir en el reporte ( Pagina 1 de 20) y lo establecemos entre comillas simples ‘’Pagina : {PAGENUM} de {TOTALPAGENUM}’ donde {PAGENUM} es la pagina actual y {TOTALPAGENUM} es el total de las paginas
[num]: Es el punto de inicio de la paginación y pues lo iniciamos con 1
En resumidas quedaría de la siguiente manera
$pdf->ezStartPageNumbers(500,18,10,”,’Pagina : {PAGENUM} de {TOTALPAGENUM}’,1);
Esto saldrá de la siguiente forma Pagina 1 de 20
Publicado: 10/05/2011 8:10 am
Hola:
Me ha servido mucho esta clase, pero no se si existe alguna forma de poner un encabezado en cada pagina. Yo lo que he hecho es tomar una cantidad de filas fijas para imprimir el encabezado, pero el problema con esto, es que no todas las filas tienen el mismo numero de caracteres, y una celda puede tener 3 lineas y la otra puede tener 6 lineas, entonces puede haber una pagina que pone el encabezado y la otra no. Si no hay alguna forma del encabezado, hay algo que cuente cuantas filas tiene cada celda?
Gracias por sus aportes
Publicado: 20/05/2011 1:57 pm
Hola, tengo el codigo funcionando, me crea el pdf con la tabla con el numero de fillas que genera la consulta pero no aparecen los datos, podrias decirme que tengo mal? Muchisimas gracias por todo me ha ayudado mucho.
ezSetCmMargins(1,1,1.5,1.5);
include ‘conexion.php’;
$instruccion = “select ID_MONITOR, NOMBRE_MON, APELLIDOS_MON from monitores”;
$consulta = mysql_query ($instruccion, $conexion)
or die (“Fallo en la consulta”);
// Mostrar resultados de la consulta
$nfilas = mysql_num_rows ($consulta);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($consulta)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘ID_MONITOR’=>’Monitor‘,
‘NOMBRE_MON’=>’Empresa‘,
‘APELLIDOS_MON’=>’Direccion‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 20/05/2011 2:04 pm
Disculpe, me faltaba el fichero de fuentes. Ya funciona. Muchísimas gracias de nuevo por el código y su tutorial es genial.
Publicado: 20/05/2011 3:37 pm
El ejemplo esta genial si sale bien, pero tengo una duda, sera posible filtrar los datos para que solo se muestren algunos, por ejemplo filtrado por fechas?????
Publicado: 28/05/2011 5:39 pm
tengo una duda a mi me da un error por que el archivo connectionRoot.php, cuando trato de ejecutarlo , me da un error por que requiere la función y no se que es lo que necesita… yo tengo un archivo de conexion.php ese archivo es para conectarlo a la base de datos?
Publicado: 08/06/2011 9:36 am
Hola tengo dudas no puedo pasar este codigo para que me lo muestre los datos en pdf ya que da muchos errores no se como com poder pasarla si me pueden ayudar por favor
N-Guia
Chofer
Patente
Oficina
Fecha Salida
KSalida
KLlegada
K Recorrido
V-Combustible
Litros
Nombre Resp.
Destino
<?php
while($filas=mysql_fetch_array($result))
{
echo "”;
echo ” . $filas['guia'] . “”;
echo ” . $filas['chofer'] . “”;
echo ” . $filas['patente'] . “”;
echo ” . $filas['oficina'] . “”;
echo ” . $filas['fecha'] . “”;
echo ” . $filas['ksalida'] . “”;
echo ” . $filas['kllegada'] . “”;
echo ” . $filas['krecorrido'] . “”;
echo ” . $filas['bencina'] . “”;
echo ” . $filas['litros'] . “”;
echo ” . $filas['nresponsable'] . “”;
echo ” . $filas['destino'] . “”;
echo “”;
}
?>
Publicado: 13/06/2011 11:11 pm
Excelente aporte, me funciono correctamente y a la primera ;)
Publicado: 11/07/2011 11:50 am
me sale todo sin ningun error ok gracias
revisen sus errores tal vez sea agregar mas 0.9
Publicado: 18/07/2011 2:31 pm
la clase raos me ha facilitado mucho la vida, les felicito pero me gustaria saber como usar un for para que imprima en cada hoja una libreta de calificaciones, el ejecicio ya me sale pero el problema es que en la primera hoja sale bien la segunda hoja ya empiezan los margenes a descuadrarse y de la tercera en adelante todo se ha descuadrado, me facilitarian esa ayuda por favor
Publicado: 18/07/2011 2:49 pm
hola, tengo un programa que genera libretas de calificaciones, cuando genera una sola el archivo pdf sec rea muy bien, pero cuando quiero que salgan de todos los alumnos del grado los margenes se descuadran y se entrevera todo podrian ayudarme como debo utilizar el for o while para que todo quede en su margen
Publicado: 27/07/2011 3:54 am
El tutorial es maravilloso! +1
Con respecto a todos los que preguntan por funciones…etc… tienen en la pagina oficial todo y su documentación: http://www.ros.co.nz/pdf/readme.pdf
Busquen un poco y no molesten a los de unijimpe por algo que les llevara 5 minutos de búsqueda en google.
Saludos.
Publicado: 27/07/2011 5:35 pm
Hola!!! esta informacion me a ha servido!!! ahora mi pregunta es ¿como puedo estraer a un pdf un solo registro de mi bd?
estoy haciendo una aplicacion para una escuela y necesito mostar en un pdf la ficha o datos de un estudiante.
como lo hago, o si conocen algun sitio donde pueda encontar informacion acerca de esto se los agradeceria mucho
Publicado: 29/07/2011 2:39 am
Steffani, para hacer eso tienes que poner la SQL correcta… por ejemplo
$sql = mysql_query("
SELECT estudiantes.direccion
FROM estudiantes
WHERE estudiantes.id=3
", $link);
$pdf =& new Cezpdf('a4');
//si quieres el pdf en horizontal, pon esto en vez lo anterior
//$pdf =& new Cezpdf('a4','landscape');
$pdf->selectFont('fonts/calibri.afm');
while ($dat = mysql_fetch_array($sql)) {
$pdf->ezImage("images/logo.jpg", 0, 206, 'none', 'left');
$pdf->ezText("Direccion: ".$dat[0]." ",10);
}
$pdf->ezStream();
Bueno, eso seria un ejemplo basico
Saludos
Publicado: 02/08/2011 2:55 am
saludos amigos tengo un problema el codigo me funcion a la perfección, estoy haciendo un sistema web para una gallera, mi problema es que no me trae todas las filas de mi base de datos, es decir tengo 4 filas en la tabla y solo me trae 3, siempre omite la primera…este es mi codigo, esta un poco modificado y simplificado pero funciona bien! espero puedan ayudarme
selectFont(‘fonts/Helvetica.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$datacreator = array (
‘Title’=>’REPORTE’,
‘Author’=>’Gallos-Control’,
‘Subject’=>’Reporte PDF’,
‘Creator’=>’contacto@spansdesing.com.ve’,
‘Producer’=>’http://www.spansdesing.com.ve‘
);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($verdatos)) {
$ixx++;
$data[$ixx-5] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘codigo’=>’Codigo‘,
‘nombre’=>’Nombre‘,
‘ganadas’=>’Peleas Ganadas‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$pdf->addInfo($datacreator);
$pdf->ezStartPageNumbers(550,18,10,”",’Pagina {PAGENUM} de {TOTALPAGENUM}’,1);
$pdf->ezText(“REPORTE GALLOS GANADORES\n”,20);
$pdf->ezText(“Ordenados en Forma Descendente\n”,12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”,10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”),10);
$pdf->ezStream();
?>
Publicado: 02/08/2011 1:34 pm
Hola amigos tengo un problema con el reporte pdf, me imprime el titulo la fecha y todo, solo que al momento de crear la tabla no me aparece la información que debe de contener, solo me dibuja la tabla con el numero de filas y columnas correspondientes a la información pero las celdas aparecen vacias, les agradeceria mucho si me pudieran ayudar.
este es el codigo:
include_once(‘class.ezpdf.php’);
$pdf =& new Cezpdf(‘a4′);
$pdf->selectFont(‘../fonts/Courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“gestion”, $conexion);
$queEmp = “SELECT Folio FROM reporte”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’No.‘,
‘Folio’=>’Folios‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “Sistema de tramies \n”;
$txttit .= “Reportes del sistema \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“Y-m-d”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
Publicado: 02/08/2011 2:10 pm
ya encontre la respuesta dada por rodrigo
Rodrigo
Publicado: 09/04/2008 2:14 pm
Esta es una respuesta para javo
Tengo un problema y es que la fecha y la hora me aparecen superpuestas y la tabla me aparece miniaturizada sin los datos que supuestamente la consulta realiza, alguna sugerencia ?
Lo que tienes que hacer es copiar la carpeta fonts a tu directorio donde estes trabajando porque si no no se visualiza nada
Publicado: 15/08/2011 3:13 pm
Hola alguno de ustedes sabes como puedo hacer para que me imprima una consulta de una base de datos de la siguiente manera:
Nombre: Juan perez
Direccion: Lomas del pedregal
Sexo: Masculino
Es que regularmente en el ejemplo imprime diferente, algo asi como
Nombre Direccion Sexo
Juan perez Lomas del Pedregal Masculino
no se como darle vuelta a la tabla
Publicado: 16/08/2011 11:42 am
Ok la ocasion pasada tenia una duda y quiero aportar por si alguien le pasa lo mismo, veo por aqui que muchos preguntan sobre el tratamiento con las variables, les pongo aqui mi humilde aporte, solo tengo problemas con los acentos como muchos de ustedes y es algo que no he podido remediar, prueben el codigo con sus bases de datos y bueno espero les sirva.El code ya va comentado.
?php
include(‘class.ezpdf.php’);
session_start();
include(“conexion.php”);
require(“Conf.php”);
require(“DB_mysql.php”);
$link=Conexion();
$pdf =& new Cezpdf(‘a4′);//Establecemos tamaño de pagina
$pdf->selectFont(‘fonts/Courier.afm’);//Seleccionamos la Fuente a Utilizar
iconv ( ‘UTF-8′,’ISO-8859-1′ , ‘lugar_r’ );
//Creamos un Query para traer los datos personales del curriculum
$queEmp = “SELECT CONCAT(a.nombres,’ ‘,a.appaterno,’ ‘,a.apmaterno) nombre_c, a.fecha_n, a.rfc, a.sexo, a.e_civil, a.nss, a.entidad_n id_entidad_n, b.opcion entidad, a.lugar_r id_municipio, CONCAT(c.opcion, ‘ – ‘,(SELECT opcion FROM entidad WHERE id=c.relacion)) lugar_r, a.colonia, a.calle, a.n_int, a.n_ext, a.cp, a.tel, a.cel, a.estatus,
a.id_candidato, a.fecha, a.validado, a.foto
FROM c_personales AS a, entidad AS b, municipios AS c
WHERE a.entidad_n=b.id
AND c.id=a.lugar_r
AND a.id_candidato=’1′”;
$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
//Guardamos los datos del Query en variables para su posterior impresion en el PDF
while($datos_selecciona=mysql_fetch_array($resEmp)){
$v_id_candidato=$datos_selecciona['id_candidato'];
$v_nombres=$datos_selecciona['nombre_c'];
$v_fecha_n=$datos_selecciona['fecha_n'];
$v_rfc=$datos_selecciona['rfc'];
$v_sexo=$datos_selecciona['sexo'];
$v_e_civil=$datos_selecciona['e_civil'];
$v_nss=$datos_selecciona['nss'];
$v_entidad_n=$datos_selecciona['entidad'];
$v_lugar_r=$datos_selecciona['lugar_r'];
$v_colonia=$datos_selecciona['colonia'];
$v_calle=$datos_selecciona['calle'];
$v_n_int=$datos_selecciona['n_int'];
$v_n_ext=$datos_selecciona['n_ext'];
$v_cp=$datos_selecciona['cp'];
$v_tel=$datos_selecciona['tel'];
$v_cel=$datos_selecciona['cel'];
$v_estatus=$datos_selecciona['estatus'];
$v_fecha=$datos_selecciona['fecha'];
$v_validado=$datos_selecciona['validado'];
$v_foto=$datos_selecciona['foto'];
}
//La funcion exText Imprime un texto cualquiera en el PDF
$pdf->ezText(“DATOS PERSONALES“,10);
$pdf->ezText(“\n”,10);
//Guardamos los datos obtenidos en el Query en el arreglo $data
$data[] = array(‘Titulo’=>’Nombres:’, ‘Datos’=>$v_nombres);
$data[] = array(‘Titulo’=>’Fecha de Nacimiento:’, ‘Datos’=>$v_fecha_n);
$data[] = array(‘Titulo’=>’RFC:’, ‘Datos’=>$v_rfc);
$data[] = array(‘Titulo’=>’Sexo:’, ‘Datos’=>$v_sexo);
$data[] = array(‘Titulo’=>’Estado Civil:’, ‘Datos’=>$v_e_civil);
$data[] = array(‘Titulo’=>’No. de Seguro Social:’, ‘Datos’=>$v_nss);
$data[] = array(‘Titulo’=>’Entidad de Nacimiento:’, ‘Datos’=>$v_entidad_n);
$data[] = array(‘Titulo’=>’Lugar de Residencia:’, ‘Datos’=>$v_lugar_r);
$data[] = array(‘Titulo’=>’Colonia:’, ‘Datos’=>$v_colonia);
$data[] = array(‘Titulo’=>’Calle:’, ‘Datos’=>$v_calle);
$data[] = array(‘Titulo’=>’No. Exterior:’, ‘Datos’=>$v_n_ext);
$data[] = array(‘Titulo’=>’No. Interior:’, ‘Datos’=>$v_n_int);
$data[] = array(‘Titulo’=>’Codigo Postal:’, ‘Datos’=>$v_cp);
$data[] = array(‘Titulo’=>’Telefono:’, ‘Datos’=>$v_tel);
$data[] = array(‘Titulo’=>’Celular:’, ‘Datos’=>$v_cel);
$titles = array(‘Titulo’=>’‘, ‘Datos’=>’‘);
//Establecemos opciones del PDF
$options = array(
/* ‘shaded’=>0,Le quita el color a las columnas */
‘showHeadings’ => 0,//Este comendao sirve para que no se muestren los titulos de las tablas, si se requiere mostrar titulos se elimina
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’, //Establece la orientacion de la tabla al centro
‘width’=>350 //Tamaño de la tabla
);
/* Con el comando ezTable mandamos a imprimir la tabla del arreglo $data, despues de data ponemos ” para que no se muestren los titulos de las tablas
si no se pone ” se mostraran los titulos aunque este la funcion ‘showHeadings’ => 0*/
$pdf->ezTable($data, ”,”, $options);
$pdf->ezText(“\n\n\n”,10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”),10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”,10);
$pdf->ezStream();
?>
Publicado: 16/08/2011 11:44 am
Les recuerdo que se usa comilla simple, solo que al postear no se porque le pone comillas dobles.
Publicado: 16/08/2011 11:53 am
Ok ahora les comento la solucion a los problemas con los acentos. En el archivo class.pdf.php hay que agregar el codigo:
$text = utf8_decode($text);
Pero antes de hacer eso se cambian los permisos del archivo para que permita escritura, porque por default viene con solo lectura, despues nos vamos a la linea 2156, donde encontramos el codigo siguiente:
function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
if (!$this->numFonts){$this->selectFont(‘./fonts/Helvetica’);}
agregamos la linea que ya les mencione, quedando asi:
function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
$text = utf8_decode($text);
if (!$this->numFonts){$this->selectFont(‘./fonts/Helvetica’);}
guardamos y eso es todo, los acentos se mostraran de forma correcta. Los creditos son para un cuate llamado Hector en un post q
Publicado: 16/08/2011 11:53 am
Ok ahora les comento la solucion a los problemas con los acentos. En el archivo class.pdf.php hay que agregar el codigo:
$text = utf8_decode($text);
Pero antes de hacer eso se cambian los permisos del archivo para que permita escritura, porque por default viene con solo lectura, despues nos vamos a la linea 2156, donde encontramos el codigo siguiente:
function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
if (!$this->numFonts){$this->selectFont(‘./fonts/Helvetica’);}
agregamos la linea que ya les mencione, quedando asi:
function addText($x,$y,$size,$text,$angle=0,$wordSpaceAdjust=0){
$text = utf8_decode($text);
if (!$this->numFonts){$this->selectFont(‘./fonts/Helvetica’);}
guardamos y eso es todo, los acentos se mostraran de forma correcta. Los creditos son para un cuate llamado Hector en un post que lei por el internet. Saludos a todos.
Publicado: 16/08/2011 6:33 pm
Como hago para que una columna tenga un solo color?????? asi tambien como las fuentes
Publicado: 17/08/2011 1:46 am
La única solución que me funciono ya que ninguna de las que han publicado me sirvió a mi en particular con respecto a este error:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\llamadasFmat\pdfClasses\DescargarPDF.php:8) in C:\xampp\htdocs\llamadasFmat\pdfClasses\class.pdf.php on line 1916
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\llamadasFmat\pdfClasses\DescargarPDF.php:8) in C:\xampp\htdocs\llamadasFmat\pdfClasses\class.pdf.php on line 1917
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\llamadasFmat\pdfClasses\DescargarPDF.php:8) in C:\xampp\htdocs\llamadasFmat\pdfClasses\class.pdf.php on line 1919
%PDF-1.3 %���� 1 0 obj << /Type /Catalog /Outlines 2 0 R /Pages 3 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Kids [6 0 R ] /Count 1 /Resources << /ProcSet 4 0 R /Font << /F1 8 0 R >> >> /MediaBox [0.000 0.000 595.280 841.890] >> endobj 4 0 obj [/PDF /Text ] endobj 5 0 obj << /Creator (R and OS php pdf writer, http://www.ros.co.nz) /CreationDate (D:20110817) >> endobj 6 0 obj << /Type /Page /Parent 3 0 R /Contents [ 7 0 R 9 0 R ] >> endobj 7 0 obj << /Filter /FlateDecode /Length 365 >> stream x���MO�@����9�e����� [i˚x5 c$���`��$�4����EKj��i�$ �^��.....
SOLUCIÓN:
Si están trabajando con algún IDE como en mi caso DREAMWEABER al crear un archivo php les genera código como si fuese html y lo único que hay q hacer es eliminarlo por completo. Este es el código generado:
<!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>Untitled Document</title>
</head>
<body>
</body>
</html>
Este código lo eliminan y solo dejan en el archivo el puro código php entre y listo.
Espero que les funcione también.
Fuente
Publicado: 17/08/2011 8:33 pm
Ahora para los que tengan duda de como hacer paginacion tipo pagina 1 de 3, 2 de 3 y 3 de 3
el codigo es muy simple
$pdf->ezStartPageNumbers(100,10,10,”,”,1);//CODIGO DE PAGINACION
prueben antes de la impresion de las tablas o ponganlo donde quieran y prueben.
Publicado: 19/08/2011 1:10 am
me pasa que al generarse la tabla me come siempre el primer registro, copie textual el codigo,. que puede ser?
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
include “conexion.php”;
$sql=” SELECT * FROM autoex.cliente AS c
JOIN autoex.exclusion AS ex USING (id_cliente)
JOIN autoex.propiedad AS p USING (cod_propiedad)
JOIN autoex.color_ojos AS co USING (cod_color_ojos)
JOIN autoex.color_pelo AS cp USING (cod_color_pelo)
JOIN autoex.pais AS pa USING (cod_pais)
JOIN autoex.ciudad AS ci USING (cod_ciudad)
WHERE c.id_cliente=’$id_cliente’
ORDER BY c.ap_pat”;
$resultado = mysql_query($sql,$con) or die(mysql_error());
$cmdtuples = mysql_num_rows($resultado);
$row = mysql_fetch_array($resultado);
$ixx = ‘num’;
while($datatmp = mysql_fetch_assoc($resultado)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’N‘,
‘propiedad’=>’Propiedad‘,
‘f_inicio’=>’Fecha Inicio‘,
‘f_termino’=>’Fecha Termino‘,
‘obs’=>’Observaciones‘,
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>750
);
$pdf->ezImage(“logo.jpg”, 0, 100, ‘none’, ‘left’);
$txttit = “DREAMS\n”;
$txttit.= “Informe Exclusión de Cliente.\n”;
$txttit.= “_______________________________”;
if ($row['estado']==1){
$state=”Inactivo”;
}
elseif ($row['estado']==0){
$state=”Activo”;
}
$pdf->ezText(date(“d/m/Y”), 10);
$pdf->ezText($txttit, 12);
$pdf->ezText(“\n”,2);
$pdf->ezText(“Cliente: “.$row['nombres'].” “.$row['ap_pat'].” “.$row['ap_mat'], 10);
$pdf->ezText(“Rut: “.$row['rut'].” – “.$row['dv'], 10);
//$pdf->ezText($row['fecha_ingreso'], 10);
$pdf->ezText(“Nacionalidad: “.$row['pais'], 10);
$pdf->ezText(“Ciudad: “.$row['ciudad'], 10);
$pdf->ezText(“Comuna: “.$row['comuna'], 10);
$pdf->ezText(“Direccion: “.$row['direccion'], 10);
$pdf->ezText(“Fecha Nacimiento: “.$row['fecha_nac'], 10);
$pdf->ezText(“Teléfono: “.$row['fono_fijo'], 10);
$pdf->ezText(“Celular: “.$row['fono_movil'], 10);
$pdf->ezText(“Email: “.$row['email'], 10);
$pdf->ezText(“Pasaporte: “.$row['num_pasaporte'], 10);
$pdf->ezText(“Color Ojos: “.$row['color_pelo'], 10);
$pdf->ezText(“Color Pelo: “.$row['color_ojos'], 10);
$pdf->ezText(“Estatura: “.$row['estatura'].” mts.”, 10);
$pdf->ezText(“Estado Actual: “.$state, 10);
$pdf->ezText(“\n”, 5);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/08/2011 3:18 pm
ya intente todo pero ni siquiera sale el pdf solo la pagina en blanco, no se que hacer no sale ni un error no me sale nada en lo absoluto, alguien puede ayudarme porfavor en especial usted unijimpe
porfavor
Publicado: 26/08/2011 9:52 pm
Tengo un problema, sólo me funciona el primer ejemplo, pero no puedo hacer esto por ejemplo:
selectFont(‘fonts/Helvetica.afm’);
$pdf->ezText(“Linea 1 \n”, 30);
$pdf->ezText(‘Linea 2′, 25);
$pdf->ezStream();
?>
me dice que se ha producido un error al cargar el documento pdf, no pasa de una linea, soy nuevo en esto y me vendría bien algo de asesoría, esteré muy agradecido, saludos!
Publicado: 02/09/2011 5:45 pm
Ya he puesto este mismo comentario, pero aun no he logrado resolverlo. Tengo un pdf en el cual dentro de un while imprimo un array de datos en una tabla $pdf->ezTable($data,$titles, ”, $opcion1);
Lo que necesito es poner un encabezado y un pie de pagina, pero la función Footer y Header que dice un post mas arriba no me sirvio, puse un for para que cada n filas imprimiera el pie de pagina pero como cada fila puede tener diferente cantidad de caracteres, cada pagina del pdf puede tener 15 o 20 de acuerdo con lo que vaya en las celdas, y no siempre reinicia la tabla correctamente, y ya no se que hacer.
No se si estoy utilizando mal la funcion que esta explicada, pues la reemplaze en el fpdf pero pongo dentro del while el llamado a la funcion y no sale nada. Una parte del codigo es este:
while($datatmp = mysql_fetch_assoc($resEmp)) {
$data[] = array_merge($datatmp, array(‘observaciones’=>”));
$titles = array(
‘idcaso’=>’Caso‘,
‘descripcion’=>’Descripcion‘,
‘estadocaso’=>’Estado Caso‘,
‘observaciones’=>’Observaciones‘
);
Footer();
$pdf->addText(35,770,8,$txttit.$txttit1.$nombre);
$pdf->ezTable($data,$titles, ”, $opcion1);
$pdf->addText(10,10,8,$pie);
}
Agradezco la ayuda
Publicado: 08/09/2011 4:20 pm
HOLAAAA A TODOSSS
Gracias por el post, esta genial. Bueno pues les dejo mi codigo, lei que algunos tenian problemas con la imagen, y la forma en se muestran los registros por que eran mostrados de esta forma:
No. Articulo
02120
______________
Descripcion
papel
______________
Costo
12.56
Bueno pues logre que me los pusiera d esta forma, realizando una union en mis querys.
No. Articulo | Descripcion | Costo
02120 | Papel | 12.56
Espero que este aporte pueda ser util para alguien.
ezImage(“logo.jpg”, 10, 150, ‘none’, ‘left’); //// Carga mi Imagen
$pdf->selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
//
/// Conexion con la BD
$Conexion = mysql_connect(“localhost”, “root”, “”);
mysql_select_db(“global_graphics”, $Conexion);
///QUERY 1 para que me muestre mis datos
$queEmp = “SELECT FechaR, NoArti1, CodigoA1, Descripcion1, UM1, CantidadP1, PrecioU1, Total1
FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti2, CodigoA2, Descripcion2, UM2, CantidadP2, PrecioU2, Total2 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti3, CodigoA3, Descripcion3, UM3, CantidadP3, PrecioU3, Total3 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti4, CodigoA4, Descripcion4, UM4, CantidadP4, PrecioU4, Total4 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti5, CodigoA5, Descripcion5, UM5, CantidadP5, PrecioU5, Total5 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti6, CodigoA6, Descripcion6, UM6, CantidadP6, PrecioU6, Total6 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti7, CodigoA7, Descripcion7, UM7, CantidadP7, PrecioU7, Total7 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti8, Codigo8, Descripcion8, UM8, CantidadP8, PrecioU8, Total8 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti9, CodigoA9, Descripcion9, UM9, CantidadP9, PrecioU9, Total9 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra ) UNION SELECT FechaR, NoArti10, CodigoA10, Descripcion10, UM10, CantidadP10, PrecioU10, Total10 FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra )”;
$resEmp = mysql_query($queEmp, $Conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
/// TERMINA QUERY 1
// QUERY 2
$queEmp1 = “SELECT AreaS, Condiciones, FechaL, Pag FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra )”;
$resEmp1 = mysql_query($queEmp1, $Conexion) or die(mysql_error());
$totEmp1 = mysql_num_rows($resEmp1);
/// TERMINA QUERY 2
// QUERY 3
$queEmp2 = “SELECT Proveedor, DireccionP, Destino FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra )”;
$resEmp2 = mysql_query($queEmp2, $Conexion) or die(mysql_error());
$totEmp2 = mysql_num_rows($resEmp2);
/// TERMINA QUERY 3
// QUERY 4
$queEmp3 = “SELECT Fecha, Moneda, TipoC FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra )”;
$resEmp3 = mysql_query($queEmp3, $Conexion) or die(mysql_error());
$totEmp3 = mysql_num_rows($resEmp3);
/// TERMINA QUERY 4
// QUERY 5
$queEmp4 = “SELECT Subtotal, Flete, Impuesto, TotalOC FROM orden_compra WHERE NoFolio = ( SELECT Max( Nofolio ) FROM orden_compra )”;
$resEmp4 = mysql_query($queEmp4, $Conexion) or die(mysql_error());
$totEmp4 = mysql_num_rows($resEmp4);
/// TERMINA QUERY 5
//////////////////// empiezan mis arrays
///EMPEIZA ARRAY 4
$ixx3 = 0;
while($datatmp3 = mysql_fetch_assoc($resEmp3)) {
$ixx3 = $ixx3+1;
$data3[] = array_merge($datatmp3, array(‘num’=>$ixx3));
}
$titles3 = array(
‘Fecha’=>’Fecha OC‘,
‘Moneda’=>’Moneda OC‘,
‘TipoC’=>’Tipo de Cambio OC‘
);
$options3 = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’right’,
‘width’=>250
);
///TERMINA ARRAY 4
///EMPEIZA ARRAY 3
$ixx2 = 0;
while($datatmp2 = mysql_fetch_assoc($resEmp2)) {
$ixx2 = $ixx2+1;
$data2[] = array_merge($datatmp2, array(‘num’=>$ixx2));
}
$titles2 = array(
‘Proveedor’=>’Proveedor‘,
‘DireccionP’=>’Direccion Proveedor‘,
‘Destino’=>’Destino Envio‘
);
$options2 = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’right’,
‘width’=>250
);
///TERMINA ARRAY 3
///EMPEIZA ARRAY 2
$ixx1 = 0;
while($datatmp1 = mysql_fetch_assoc($resEmp1)) {
$ixx1 = $ixx1+1;
$data1[] = array_merge($datatmp1, array(‘num’=>$ixx1));
}
$titles1 = array(
‘AreaS’=>’Area Solicitante‘,
‘Condiciones’=>’Condiciones de Pago‘,
‘FechaL’=>’Fecha Limite‘,
‘Pag’=>’Pagina‘
);
$options1 = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
///TERMINA ARRAY2
/// ARRAY 1
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
ESPEROOOOOOOOOOOOOOOOOO Y LES SIRVAAAAAAAAAAAAAAAAAAAA!!!
$titles = array(
‘NoArti1′=>’No. de Articulo‘,
‘CodigoA1′=>’Codigo‘,
‘Descripcion1′=>’Descripcion‘,
‘FechaR’=>’Fecha Requerida‘,
‘UM1′=>’U de M‘,
‘CantidadP1′=>’Cant. Pedida‘,
‘PrecioU1′=>’Precio Unitario‘,
‘Total1′=>’Precio Total‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500,
);
/// TERMINA ARRAY 1
/// ARRAY 5
$ixx4 = 0;
while($datatmp4 = mysql_fetch_assoc($resEmp4)) {
$ixx4 = $ixx4+1;
$data4[] = array_merge($datatmp4, array(‘num’=>$ixx4));
}
$titles4 = array(
‘Subtotal’=>’Subtotal‘,
‘Flete’=>’Flete‘,
‘Impuesto’=>’Impuesto‘,
‘TotalOC’=>’Total de OC‘
);
$options4 = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’right’,
‘width’=>250,
);
/// TERMINA ARRAY 5
$txttit = “ORDEN DE COMPRA\n”;
$pdf->ezText($txttit, 9);
///4
$pdf->ezTable($data3, $titles3, ”, $options3);
$pdf->ezText(“\n\n\n\n\n”, 5);
////4
///3
$pdf->ezTable($data2, $titles2, ”, $options2);
$pdf->ezText(“\n”, 1);
////3
///2
$pdf->ezTable($data1, $titles1, ”, $options1);
$pdf->ezText(“\n”, 1);
////2
///1
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
////1
///5
$pdf->ezTable($data4, $titles4, ”, $options4);
$pdf->ezText(“\n\n\n\n”, 15);
////5
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
ob_end_clean(); /// poder visualizar mi imagen
$pdf->ezStream();
Publicado: 09/09/2011 2:29 pm
Hola el ejemplo si me sirve pero al momento que se genera el PDF las letras y tamaño de la tabla queda muy pequeño como puedo solucionar eso, o las letras quedan arriba de otras
mi codigo es el siguiente:
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$result=mysql_query(“SELECT Nombre,Rfc,Direccion,Telefono FROM admon_documentos”,$conexion)or die(mysql_error());
$totEmp = mysql_num_rows($result);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($result)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘Nombre’=>’Empresa‘,
‘Rfc’=>’RFC‘,
‘Direccion’=>’Direccion‘,
‘Telefono’=>’Telefono‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Publicado: 23/09/2011 12:36 pm
Bueno pues yo tengo un problema con mi PDF, si me lo genera y me muestra los datos de mis consultas, el unico problema es que cuando quiero que se muestren más de 25 registros me marca un error al cargar al PDF, y la cantidad de registros que en realidad quiero que me muestre es como alrededor de 1000, les agradezco su ayuda y aqui les dejo el código…
selectFont('../fonts/php_Times-Roman.afm');$pdf->ezSetCmMargins(1,1,1.5,1.5);
$pdf->ezSetMargins(40,45,30,30);
$pdf->ezStartPageNumbers(750,25,12,'','{PAGENUM} de {TOTALPAGENUM}',1);
$resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN(HORREGASIS) AS entrada, MAX(HORREGASIS) as salida
FROM registro WHERE RPEREGASIS='$trabajador' GROUP BY RPEREGASIS, FECREGASIS");
$totEmp = mysql_num_rows($resultado);
if($row=mysql_fetch_array($resultado)){
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resultado)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array('id'=>$ixx));
}
$titles = array(
'id'=>'Id',
'RPEREGASIS'=>'RPE del Empleado',
'FECREGASIS'=>'Fecha',
'entrada'=>'Hora de Entrada',
'salida'=>'Hora de Salida'
);
$options = array(
'shadeCol'=>array(0.9,0.9,0.9),
'xOrientation'=>'center',
'fontSize'=>8,
'width'=>700,
'colGap'=>2,
'xPos'=>'centre',
);
$pdf->addJpegFromFile("cfep.jpg",680,533,60,60);
$txttit.= mb_convert_encoding(" Reporte:\n", 'ISO-8859-1', 'UTF-8');
$txttit.= " Asistencia de Empleados \n";
$pdf->ezText($txttit, 12);
$pdf->ezText($data, 12);
$pdf->ezTable($data, $titles, '', $options);
$pdf->ezText("\n\n\n", 10);
$pdf->ezText("Fecha: ".date("d/m/Y"), 10);
$pdf->ezText("Hora: ".date("H:i:s")."\n\n", 10);
$pdf->ezStream();
}
else{
header("Location: PDFDefault.php");
exit;
}
?>
Publicado: 02/10/2011 8:02 am
Holaaa……..
Me ha servido mucho este foro; pero necesito AYUDA, como hago para que los datos que me extrae de la base de datos me los presente de manera vertical:
Ficha: 456775
Nombre: Panfilo
Apellidos: Castrejon
Ya sea con tabla o sin ella, por fas de verdad lo necesito, muchas gracias de antemano….
Publicado: 03/10/2011 9:07 am
Otra ves molestando, alguien puede ayudarme??, me funciona todo bien pero me salen los datos en una tabla de la siguiente manera:
Ficha Nombre Apellidos
12 Noe Campos
y yo necesito que los datos me salgan, ya sea en una tabla o sin ella de la siguiente manera:
Ficha: 12
Nombre: Noe
Apellidos: Campos
Por favor AYUDA, en verdad lo necesito . . . .
Publicado: 03/10/2011 10:38 am
Estimado Moderador o alguien que me ayude.
He generado una tabla que la saco de una tabla MySql, me genera los datos tal como lo deseo, pero el problema es que no hay caso en cambiar el tamaño de la letra al interior de la tabla, ni se me nota el tipo de font.
Este código tengo para el font.
La carpeta font la tengo dentro del directorio donde se ubica la clase.
$pdf->selectFont(‘../fonts/php_Times-Italic.afm’);
Lo del tamaño de letra supongo que lo cambio desde aquí
$txttit = “MAT021 – Paralelo “.$paralelo.”\n”;
$txttit.= “Notal Finales del Curso \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 8);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 8);
$pdf->ezStream();
Los tamaños fuera de la tabla si los realiza, me refiero al Título y Subtítulo, y a la fecha y hora, pero al interior de la tabla nada sucede
$pdf->ezText(“\n\n\n”, 10);
Agradecido desde ya por el aporte así como de la ayuda que espero vendrá.
Publicado: 12/10/2011 3:06 pm
Buenas tades
Tengo funcinando todo el script pero nesecito lo siguiente
en mi bd hay varios registros al hacer una consulta de agrupacion me da que por cada numero e cedula hay mas o menos 20 registros,
lo que nesecito es que se genere una pagina por cada documento
lo cual no lo he podido hacer con estos ejemplos ,
la idea es que sea un solo pdf perocada pagina sea por documento
Muchas gracias su ayuda sera muy valiosa
Yesid
Publicado: 04/11/2011 3:30 pm
Buenas tardes,
Amigos tengo un problema al cargar los datos al pdf me sale un error:
Warning: require_once(class.ezpdf.php) [function.require-once]: failed to open stream: No such file or directory in C:\AppServ\www\PAGINA\informe.php on line 2
Fatal error: require_once() [function.require]: Failed opening required ‘class.ezpdf.php’ (include_path=’.;C:\php5\pear’) in C:\AppServ\www\PAGINA\informe.php on line 2
y no he podido descifrarlo, agradezco la colaboración, este es el código:
require_once('class.ezpdf.php');
$pdf =& new Cezpdf('a4');
$pdf->selectFont('../fonts/courier.afm');
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$link=mysql_connect("localhost","root","7715396");
$queEmp = "SELECT cedula, nombres, apellidos, direccion, telefono, servicio nombreUsua FROM usuario";
$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘cedula’=>’cedula‘,
‘nombres’=>’nombres‘,
‘apellidos’=>’apellidos‘,
‘direccion’=>’direccion‘,
‘telefono’=>’telefono‘,
‘servicio’=>’servicio‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = "BLOG.UNIJIMPE.NET\n";
$txttit.= "Ejemplo de PDF con PHP y MYSQL \n";
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles,'', $options);
$pdf->ezText("\n\n\n", 10);
$pdf->ezText("Fecha: ".date("d/m/Y"), 10);
$pdf->ezText("Hora: ".date("H:i:s")."\n\n", 10);
$pdf->ezStream();
Publicado: 16/11/2011 6:42 pm
hola como pongo encabezado y pie de paguina en pdf con esta classe ezpdf
de anta mano gracias
Publicado: 20/11/2011 6:42 pm
Cordial saludo:
Estoy probando el codigo pero no puedo hacer para que la informacion se pueda ver, solo me presenta la tabla pero sin nada de informacion, por favor alguien me puede colaborar. estoy utilizando XAMPP y la version del php es 5.3.0. les agradeceria si pudieran colaborarme.
Este es el codigo que tengo
selectFont(‘../fonts/courier.afm’);
$pdf->ezSetCmMargins(1,1,1.5,1.5);
$conexion = mysql_connect(“localhost”,”root”, “”);
mysql_select_db(“icobandas”, $conexion);
$queEmp = “SELECT id_cliente, identificacion, nombre, apellido, direccion, telefono, email, id_ciudad, id_empresa FROM cliente ORDER BY nombre ASC”;
$resEmp = mysql_query($queEmp, $conexion) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
$ixx = 0;
while($datatmp = mysql_fetch_assoc($resEmp)) {
$ixx = $ixx+1;
$data[] = array_merge($datatmp, array(‘num’=>$ixx));
}
$titles = array(
‘num’=>’Num‘,
‘id_cliente’=>’Item‘,
‘identificacion’=>’Identificacion‘,
‘nombre’=>’Nombre‘,
‘apellido’=>’Apellido‘,
‘direccion’=>’Direccion‘,
‘telefono’=>’Telefono‘,
‘email’=>’Corro Electronico‘,
‘id_ciudad’=>’Ciudad‘,
‘id_empresa’=>’Empresa‘
);
$options = array(
‘shadeCol’=>array(0.9,0.9,0.9),
‘xOrientation’=>’center’,
‘width’=>500
);
$txttit = “BLOG.UNIJIMPE.NET\n”;
$txttit.= “Ejemplo de PDF con PHP y MYSQL \n”;
$pdf->ezText($txttit, 12);
$pdf->ezTable($data, $titles, ”, $options);
$pdf->ezText(“\n\n\n”, 10);
$pdf->ezText(“Fecha: “.date(“d/m/Y”), 10);
$pdf->ezText(“Hora: “.date(“H:i:s”).”\n\n”, 10);
$pdf->ezStream();
?>
Muchas gracias
Publicado: 25/11/2011 1:33 am
BUENAS COMO HAGO PARA IMPRIMIR REGISTROS INDIVIDUALES, ES DECIR 1 REGISTRO POR REPORTE, POR EJEMPLO IMPRIMIR EL REGISTRO PEDRO PEREZ DE CEDULA 1, EN UNA HOJA, EL REGISTRO JUANA JULIO DE CEDUAL 2 EN OTRA Y ASI, GRACIAS A TODOS POR LA AYUDA DE ANTEMANO
Publicado: 28/11/2011 10:45 am
Buenas, como hago en este caso manipular el tamaño o el ancho de la tabla a mi gusto, llos datos me aparecen muy “apretados”, muchas gracias
Publicado: 04/12/2011 1:19 pm
hola porqu cuando realizo esto:
$data = array(array(‘num’=>1,’nombre’=>’jack’),
array(‘num’=>2,’nombre’=>’jac’),array(‘num’=>3,’nombre’=>’jac’));
$pdf->ezTable($data);
$pdf->ezStream();
y luego de correrlo el navegador dice que no inicia ‘%pdf-’ que significa esto
gracias
Publicado: 09/12/2011 10:18 am
Hermanito esta muy bueno todo lo que hace, hay un problema y es q no sirve, por favor si sube algo, suba algo que funcione y no le haga perder tiempo a la gente y mucho menos a mi.
Publicado: 12/12/2011 9:35 am
Buenos Días Unjimpe…
Ante que nada muchas gracias por el aporte me ha funcionado de maravilla…. pero tengo un problemita no encuentro como concatenar campos en la misma columna.. cuando los concateno no me muestra ninguno de los 2 datos :/ de q otra forma podria hacerlo..??
Publicado: 20/12/2011 2:05 pm
Hola como le haría para que la tabla de registros que se muestran en lugar de que la tabla sea horizontal (como está ahora) quisiera verla en vertical ya que la quiero para un solo registro. Gracias
Publicado: 22/12/2011 12:15 am
Muy bueno , muchas gracias.
Publicado: 30/12/2011 5:55 pm
hice todo como lo mencionan en la parte de arriba y al
ejecutarlo me dice
NO SE PUEDE CARGAR EL DOCUMENTO PDF
ayuda a k se debe esto ????
Publicado: 08/02/2012 11:05 am
Php, Mysql y fpdf porque al generar la primera vez un reporte con una base de datos con unos 100 mil registros tarda mucho y la segunda vez que se genera ese mismo reporte lo hace mucho mas rapido, esos pasa con todos los reportes
Publicado: 08/02/2012 12:34 pm
Hola muy bien explicado. Gracias men..