Foros del Web » Programando para Internet » PHP »

PHP OO Generar PDF apartir de PHP y MySQL!!!...

Estas en el tema de Generar PDF apartir de PHP y MySQL!!!... en el foro de PHP en Foros del Web. Hola a todos!!! Tengo un problema con un codigo raro :s... Verán, quisiera poder generar un pdf a partir de un consulta mysql de una ...
  #1 (permalink)  
Antiguo 08/09/2011, 08:31
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Pregunta Generar PDF apartir de PHP y MySQL!!!...

Hola a todos!!! Tengo un problema con un codigo raro :s... Verán, quisiera poder generar un pdf a partir de un consulta mysql de una página en php, tengo el código y aqui se los dejo, el problema es que cuando ingreso los datos para que me devuelva al pdf, la nueva pestaña que me habré me arroja un mensaje que dice:

"Se ha producido un error al cargar el documento PDF" y no se que pueda ser intente con otros codigos, pero desafortunadamente creo que este es el más cercano a lo que quiero :s... aqui les dejo el código:

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <link rel="stylesheet" type="text/css" href="FormPagina.css" />
  6.         <title></title>
  7.         <link type="text/css" href="css/sunny/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
  8.         <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
  9.         <script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>
  10.         <script type="text/javascript">
  11.  
  12.     $(function() {
  13.         $( ".datepicker" ).datepicker();
  14.     });
  15.     </script>
  16.     <body bgcolor="yellowgreen">
  17.         <div id="Superior">
  18.             <img width="100%" src="images\cfe_mexico.jpg">
  19.         </div>
  20.         <div id="MedioIzq">
  21.             <br><br><br>
  22.         <form id="form" name="form" action="Fechas2.php"method="post">
  23.             Fecha Inicio:
  24.             <input type="text" name="fechaIni" class="datepicker">
  25.             <br>
  26.             <br>
  27.             <br>
  28.             Fecha Final:
  29.             <input type="text" name="fechaFin" class="datepicker">
  30.             <br>
  31.             <br>
  32.             <input type="submit" value="Consultar">
  33.         </form>
  34.             </div>
  35. <div id="MedioDer">
  36.     <br><br><br>
  37.         <a href="user.php">Regresar al menu</a>
  38.          <br><br><a href="logout.php">Cerrar sesi&oacute;n</a>
  39.     </div>
  40.         <div id="Abajo">
  41.         <?php
  42.         require_once('class.ezpdf.php');
  43. $pdf =& new Cezpdf('a4');
  44. $pdf->selectFont('../fonts/Courier.afm');
  45. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  46.         function js2PhpTime($jsdate){
  47.   if(preg_match('@(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)@', $jsdate, $matches)==1)
  48.                 {
  49.     $ret = mktime($matches[4], $matches[5], 0, $matches[1], $matches[2], $matches[3]);
  50.   }else if(preg_match('@(\d+)/(\d+)/(\d+)@', $jsdate, $matches)==1){
  51.     $ret = mktime(0, 0, 0, $matches[1], $matches[2], $matches[3]);
  52.   }
  53.   return $ret;
  54. }
  55.         $fechaIni=$_POST['fechaIni'];
  56.         $fechaFin=$_POST['fechaFin'];
  57.         $Inicio=date("Y-m-d", js2PhpTime($fechaIni));
  58.         $Final=date("Y-m-d", js2PhpTime($fechaFin));
  59.         $conectar=mysql_connect('localhost','root','');
  60.         if($conectar=NULL)
  61.         {
  62.             printf("Error al conectar a la Base de datos");
  63.         }
  64.  
  65.         mysql_select_db('registro');
  66.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  67.            FROM registro WHERE RPEREGASIS LIKE '9A%' AND FECREGASIS BETWEEN '$Inicio' AND '$Final' GROUP BY RPEREGASIS, FECREGASIS");
  68.  
  69. if($row=mysql_fetch_array($resultado)){
  70. echo "<table border='1' align='center'>\n";
  71. echo "<tr><td>RPE Del Empleado</td><td>Fecha de Registro</td><td>Hora de Entrada</td><td>Hora de Salida</td></tr>\n";
  72. do{
  73.  
  74. echo "<tr><td>".$row["RPEREGASIS"]."</td><td>".$row["FECREGASIS"]."</td><td>".$row["entrada"]."</td><td>".$row["salida"]."</td></tr> \n";
  75. }while($row=mysql_fetch_array($resultado));
  76. echo "</table>\n";
  77. }
  78. else{
  79. echo "<center>No existen registros para el rango de esas fechas</center>";
  80. }
  81. $ixx = 0;
  82. while($datatmp = mysql_fetch_assoc($resultado)) {
  83. $ixx = $ixx+1;
  84. $data[] = array_merge($datatmp, array('num'=>$ixx));
  85. }
  86. $titles = array(
  87. 'num'=>'Num',
  88. 'RPEREGASIS’=>’RPE Del Trabajador',
  89. 'FECREGASIS'=>'Fecha de Registro',
  90. 'minimo'=>'Hora de Entrada',
  91. 'maximo'=>'Hora de Salida'
  92. );
  93. $options = array(
  94. 'shadeCol'=>array(0.9,0.9,0.9),
  95. 'xOrientation'=>'center',
  96. 'width'=>500
  97. );
  98. $txttit = 'BLOG.UNIJIMPE.NET\n';
  99. $txttit.= 'Ejemplo de PDF con PHP y MYSQL \n';
  100. $pdf->ezText($txttit, 12);
  101. $pdf->ezTable($data, $titles, '', $options);
  102. $pdf->ezText('\n\n\n', 10);
  103. $pdf->ezText('Fecha: '.date('d/m/Y'), 10);
  104. $pdf->ezText('Hora: '.date('H:i:s').'\n\n', 10);
  105. $pdf->ezStream();
  106. ?>
  107. </div>
  108.  
  109.     </body>
  110.             </html>
  #2 (permalink)  
Antiguo 08/09/2011, 08:47
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Por cierto también use otro código para saber más o menos que pasa aunque soy un novatillo apenas...


Código Javascript:
Ver original
  1. <?php
  2. define('FPDF_FONTPATH','font/');
  3. require_once('fpdf.php');
  4.  
  5. $pdf=new FPDF();
  6. $pdf->AliasNbPages();
  7. $pdf->AddPage();
  8.  
  9. $pdf->SetFont('Arial','B',20);
  10. $pdf->write(8,"Hola mundo");
  11.  
  12. /$pdf->Output();
  13. ?>

Y me sale este error...

Warning: include(font/helveticab.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\php\PEAR\fpdf.php on line 541

Warning: include() [function.include]: Failed opening 'font/helveticab.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\php\PEAR\fpdf.php on line 541
FPDF error: Could not include font metric file


Pues revise la ruta que me dice y ahi esta ese tal archivo "fpdf.php" exactamente en la ruta que menciona y pues ya me frustre :s... De antemano muchas gracias por sus respuestas...
  #3 (permalink)  
Antiguo 08/09/2011, 08:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

El problema es que no puedes enviar otro tipo de contenido (en este caso tu documento HTML) junto con el PDF, este tiene que estar al principio del código o en un archivo PHP aparte.

Saludos.
  #4 (permalink)  
Antiguo 08/09/2011, 09:00
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Deja pruebo con eso, ahm eso quiere decir que todo lo que tenga que ver con HTML debe de estar en otro archivo??...
  #5 (permalink)  
Antiguo 08/09/2011, 09:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Así es, esto es porque el contenido del PDF es diferente al HTML y no lo puedes combinar...

Saludos.
  #6 (permalink)  
Antiguo 08/09/2011, 09:10
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Muchas gracias GatorV, ya hice lo que me dijiste tengo 2 archivos "Fechas.php" para meter los datos de entrada (las fechas por medio de un datepicker) es este:

Código PHP:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3.     <head>
  4.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5.         <link rel="stylesheet" type="text/css" href="FormPagina.css" />
  6.         <title></title>
  7.         <link type="text/css" href="css/sunny/jquery-ui-1.8.13.custom.css" rel="stylesheet" />
  8.         <script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
  9.         <script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>
  10.         <script type="text/javascript">
  11.  
  12.     $(function() {
  13.         $( ".datepicker" ).datepicker();
  14.     });
  15.     </script>
  16.     <body bgcolor="yellowgreen">
  17.         <div id="Superior">
  18.             <img width="100%" src="images\cfe_mexico.jpg">
  19.         </div>
  20.         <div id="MedioIzq">
  21.             <br><br><br>
  22.         <form id="form" name="form" action="Fechas2.php"method="post">
  23.             Fecha Inicio:
  24.             <input type="text" name="fechaIni" class="datepicker">
  25.             <br>
  26.             <br>
  27.             <br>
  28.             Fecha Final:
  29.             <input type="text" name="fechaFin" class="datepicker">
  30.             <br>
  31.             <br>
  32.             <input type="submit" value="Consultar">
  33.         </form>
  34.             </div>
  35. <div id="MedioDer">
  36.     <br><br><br>
  37.         <a href="user.php">Regresar al menu</a>
  38.          <br><br><a href="logout.php">Cerrar sesi&oacute;n</a>
  39.     </div>

Y el otro que solo tiene código en PHP, que se llama "Fechas2.php" que es este:

Código PHP:
Ver original
  1. <?php
  2.         require_once('class.ezpdf.php');
  3. $pdf =& new Cezpdf('a4');
  4. $pdf->selectFont('../fonts/Courier.afm');
  5. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  6.         function js2PhpTime($jsdate){
  7.   if(preg_match('@(\d+)/(\d+)/(\d+)\s+(\d+):(\d+)@', $jsdate, $matches)==1)
  8.                 {
  9.     $ret = mktime($matches[4], $matches[5], 0, $matches[1], $matches[2], $matches[3]);
  10.   }else if(preg_match('@(\d+)/(\d+)/(\d+)@', $jsdate, $matches)==1){
  11.     $ret = mktime(0, 0, 0, $matches[1], $matches[2], $matches[3]);
  12.   }
  13.   return $ret;
  14. }
  15.         $fechaIni=$_POST['fechaIni'];
  16.         $fechaFin=$_POST['fechaFin'];
  17.         $Inicio=date("Y-m-d", js2PhpTime($fechaIni));
  18.         $Final=date("Y-m-d", js2PhpTime($fechaFin));
  19.         $conectar=mysql_connect('localhost','root','');
  20.         if($conectar=NULL)
  21.         {
  22.             printf("Error al conectar a la Base de datos");
  23.         }
  24.  
  25.         mysql_select_db('registro');
  26.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  27.            FROM registro WHERE RPEREGASIS LIKE '9A%' AND FECREGASIS BETWEEN '$Inicio' AND '$Final' GROUP BY RPEREGASIS, FECREGASIS");
  28.  
  29.  
  30. $ixx = 0;
  31. while($datatmp = mysql_fetch_assoc($resultado)) {
  32. $ixx = $ixx+1;
  33. $data[] = array_merge($datatmp, array('num'=>$ixx));
  34. }
  35. $titles = array(
  36. 'num'=>'Num',
  37. 'RPEREGASIS’=>’RPE Del Trabajador',
  38. 'FECREGASIS'=>'Fecha de Registro',
  39. 'entrada'=>'Hora de Entrada',
  40. 'salida'=>'Hora de Salida'
  41. );
  42. $options = array(
  43. 'shadeCol'=>array(0.9,0.9,0.9),
  44. 'xOrientation'=>'center',
  45. 'width'=>500
  46. );
  47. $txttit = 'BLOG.UNIJIMPE.NET\n';
  48. $txttit.= 'Ejemplo de PDF con PHP y MYSQL \n';
  49. $pdf->ezText($txttit, 12);
  50. $pdf->ezTable($data, $titles, '', $options);
  51. $pdf->ezText('\n\n\n', 10);
  52. $pdf->ezText('Fecha: '.date('d/m/Y'), 10);
  53. $pdf->ezText('Hora: '.date('H:i:s').'\n\n', 10);
  54. $pdf->ezStream();
  55. ?>

Pero me sigue arrojando el mismo error:

"Se ha producido un error al cargar el documento PDF"...

No se que ondaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa :s...
  #7 (permalink)  
Antiguo 08/09/2011, 09:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Verifica que no tengas absolutamente nada antes de tu <?php si tu documento es UTF8, revisa que no tenga BOM porque eso también puede dañar la salida de tu PDF.

Saludos.
  #8 (permalink)  
Antiguo 08/09/2011, 09:25
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Ahmmmm y eso donde lo veo, según yo los carácteres en PHP vienen por default en UTF8, y pues yo nunca cambie esa opción, uso el Netbeans y pues es igual el formato aquí... Muchas gracias por la ayuda n_n... Pero sigo batallando :s...
  #9 (permalink)  
Antiguo 08/09/2011, 09:42
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Pues sigo en la misma duda y lo que hice fue hacer un archivo que no incluyera nada en html y ahora nisiquiera me manda el error de "que no se podía generar el PDF" y bueno esto es lo que me aparece:
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\PhpProject1\PDF.php on line 3

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1934

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1934

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 2421

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1631

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1631

Notice: Undefined offset: 0 in C:\xampp\php\PEAR\class.ezpdf.php on line 695

Notice: Undefined index: in C:\xampp\php\PEAR\class.pdf.php on line 1631

... Y un chorro de lo mismo en esas líneas y por último un poco de esto:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\class.pdf.php on line 1916

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\class.pdf.php on line 1917

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\php\PEAR\class.pdf.php:1631) in C:\xampp\php\PEAR\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 9 0 R 12 0 R 15 0 R 18 0 R 21 0 R 24 0 R 27 0 R ] /Count 8 /Resources << /ProcSet 4 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:20110908) >> endobj 6 0 obj << /Type /Page /Parent 3 0 R /Contents [ 7 0 R 8 0 R ] >> endobj 7 0 obj << /Filter /FlateDecode /Length 408 >> stream x���;O�`���_qF]�wn-]����u0a4!���o��w�-=M�O/

Ahora mi código es este:

Código PHP:
Ver original
  1. <?php
  2.         require_once('class.ezpdf.php');
  3. $pdf =& new Cezpdf('a4');
  4. $pdf->selectFont('../fonts/Courier.afm');
  5. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  6.  
  7.         $conectar=mysql_connect('localhost','root','');
  8.         if($conectar=NULL)
  9.         {
  10.             printf("Error al conectar a la Base de datos");
  11.         }
  12.  
  13.         mysql_select_db('registro');
  14.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  15.            FROM registro GROUP BY RPEREGASIS, FECREGASIS");
  16.  
  17. $ixx = 0;
  18. while($datatmp = mysql_fetch_assoc($resultado)) {
  19. $ixx = $ixx+1;
  20. $data[] = array_merge($datatmp, array('num'=>$ixx));
  21. }
  22. $titles = array(
  23. 'num'=>'Num',
  24. 'RPEREGASIS’=>’RPE Del Trabajador',
  25. 'FECREGASIS'=>'Fecha de Registro',
  26. 'entrada'=>'Hora de Entrada',
  27. 'salida'=>'Hora de Salida'
  28. );
  29. $options = array(
  30. 'shadeCol'=>array(0.9,0.9,0.9),
  31. 'xOrientation'=>'center',
  32. 'width'=>500
  33. );
  34. $txttit = 'BLOG.UNIJIMPE.NET\n';
  35. $txttit.= 'Ejemplo de PDF con PHP y MYSQL \n';
  36. $pdf->ezText($txttit, 12);
  37. $pdf->ezTable($data, $titles, '', $options);
  38. $pdf->ezText('\n\n\n', 10);
  39. $pdf->ezText('Fecha: '.date('d/m/Y'), 10);
  40. $pdf->ezText('Hora: '.date('H:i:s').'\n\n', 10);
  41. $pdf->ezStream();
  42. ?>
  #10 (permalink)  
Antiguo 08/09/2011, 09:47
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

E hice un ejemplo más pedacero:

Código PHP:
Ver original
  1. <?php
  2. require('fpdf.php');
  3. $pdf=new FPDF();
  4. $pdf->AddPage();
  5. $pdf->SetFont('Arial','B',16);
  6. $pdf->Cell(40,10,'Este es un ejemplo de creación de un documento PDF con PHP');
  7. $pdf->Output();
  8. ?>

Y me sale esto:

Warning: include(helveticab.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\php\PEAR\fpdf.php on line 541

Warning: include() [function.include]: Failed opening 'helveticab.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\php\PEAR\fpdf.php on line 541
FPDF error: Could not include font metric file

Pero ese archivo "fpdf.php" lo tengo en esa ruta, desde que instale el xampp ahi esta...

Eh pensado que estoy hablando solo en estos ultimos post ...
  #11 (permalink)  
Antiguo 08/09/2011, 10:03
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Sonrisa Problema generar PDF en PHP

Buen día!!! Pues aquí estoy yo molestando a esta comunidad estoy con una aplicación que me muestre en un PDF una consulta hecha en MySQL en una página de PHP, pero primero quiero saber un error más específico que tal vez tenga algo que ver con lo que me pasa... en un programa más pequeño que solo me convierta a pdf una celda el cual es este:

Código PHP:
Ver original
  1. <?php
  2. require('fpdf.php');
  3. $pdf=new FPDF();
  4. $pdf->AddPage();
  5. $pdf->SetFont('Arial','B',16);
  6. $pdf->Cell(40,10,'Este es un ejemplo de creación de un documento PDF con PHP');
  7. $pdf->Output();
  8. ?>

Me salen estos errores:

Warning: include(helveticab.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\php\PEAR\fpdf.php on line 541

Warning: include() [function.include]: Failed opening 'helveticab.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\php\PEAR\fpdf.php on line 541
FPDF error: Could not include font metric file
Warning: include() [function.include]: Failed opening 'helveticab.php' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\php\PEAR\fpdf.php on line 541
FPDF error: Could not include font metric file


No se si el problema sea que no encuentra esos archivos, pero el fpdf.php esta exactamente en la ruta que me marca, lo que no encuentro es el "helvetIcab.php" no se que sea...

De anteamano muchas gracias por su ayuda :p...

Última edición por stuart_david3; 08/09/2011 a las 10:07 Razón: Error de dedo...
  #12 (permalink)  
Antiguo 08/09/2011, 10:08
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Problema generar PDF en PHP

Hola Stuart, el mensaje de error es claramente que no encuentra el directorio : : No such file or directory in C: , nombrare tu código como "prueba.php", tu archivo "prueba.php" se encuentra en la misma ruta que tu archivo fpdf.php ?, dado que según lo que posteas , se encuentran en la misma ruta, talvez por ese lado va el error, revisa eso(ó respondeme) para poder ayudarte.


Saludos.


__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #13 (permalink)  
Antiguo 08/09/2011, 10:09
 
Fecha de Ingreso: septiembre-2008
Mensajes: 148
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Mas alla de que quieras usar mysql para generar el pdf, la idea es que php genere un archivo que no es html, por lo tanto tienes un html de acceso (que puede ser un php con un link al generador del pdf) y un archivo php que genera el pdf. Por lo que veo para generar el pdf estas usando la libreria fpdf... la estas usando? o es que crees que fpdf viene por defecto con xampp? fpdf.php es el de la libreria, y tienes que hacer referencia al lugar donde esta, si lo tienes en la misma carpeta que tu web si vale usar require('fpdf.php'); sino tienes que agregar el path correspondiente.
  #14 (permalink)  
Antiguo 08/09/2011, 10:31
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Es decir, que si tengo un html con textbox para ingresar datos, estos datos no se pueden mostrar en el pdf?? Pero es la única manera en que puedo meter los datos :s, o si se puede?? use este codigo y si me jalo bien:

Código PHP:
Ver original
  1. <?php
  2. require('fpdf.php');
  3. $pdf=new FPDF();
  4. $pdf->AddPage();
  5. $pdf->SetFont('Arial','B',16);
  6. $pdf->Cell(40,10,'Este es un ejemplo de creacion de un documento PDF con PHP');
  7. $pdf->Output();
  8. ?>

Solo agregue esta línea: ob_end_clean();

y bueno en mi carpeta:
C:\xampp\php\PEAR

agregue el archivo: helveticab.php y times.php y ya gracias a Dios me salio, ahora intentare hacer la consulta en php, y bueno si no me sale estaré posteando de nuevo en este tema o haré uno nuevo por que el otro hasta hace unos momentos no me había salido, por lo pronto gracias de nuevo LhaN y disculpa por tantos Post es que estoy medio desesperado... =)...
  #15 (permalink)  
Antiguo 08/09/2011, 11:20
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Bueno pues por más que le muevo nadamás no encuentro mi error, esto es lo que me arroja la página:

Notice: Undefined index: in C:\xampp\htdocs\PhpProject1\class.pdf.php on line 1631

Notice: Undefined index: in C:\xampp\htdocs\PhpProject1\class.pdf.php on line 1631

Notice: Undefined index: in C:\xampp\htdocs\PhpProject1\class.pdf.php on line 1631
... y muchos más parecidos...

Y por ultimo una serie de errores raros que sinceramente no entiendo bien:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\PhpProject1\Fechas2.php:21) in C:\xampp\htdocs\PhpProject1\class.pdf.php on line 1916

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\PhpProject1\Fechas2.php:21) in C:\xampp\htdocs\PhpProject1\class.pdf.php on line 1917

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\PhpProject1\Fechas2.php:21) in C:\xampp\htdocs\PhpProject1\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 9 0 R 12 0 R 15 0 R 18 0 R 21 0 R 24 0 R 27 0 R ] /Count 8 /Resources << /ProcSet 4 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,... y más...

Ya copie el mismo archivo "class.pdf.php" por donde sea, en la carpeta que me marca, en mi directorio raíz y bueno en el lugar que se me ocurre, y bueno no me sale nada más... aquí les dejo el código, espero y alguien me pueda ayudar por que realmente ando bien sacado de onda , por cierto gracias a quienes ya me han ayudado, enserio que me ha servido también su ayuda...

Código PHP:
Ver original
  1. <?
  2. require('fpdf.php');
  3. $pdf=new FPDF();
  4. include_once('class.ezpdf.php');
  5. $pdf =& new Cezpdf('a4');
  6. $pdf->selectFont('../fonts/Courier.afm');
  7. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  8.  
  9. $conectar=mysql_connect('localhost','root','');
  10.         if($conectar=NULL)
  11.         {
  12.             printf("Error al conectar a la Base de datos");
  13.         }
  14.  
  15.         mysql_select_db('registro');
  16. $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  17.            FROM registro GROUP BY RPEREGASIS, FECREGASIS");
  18.  
  19. $ixx=0;
  20. while($datatmp = mysql_fetch_assoc($resultado)) {
  21. $ixx = $ixx+1;
  22. $data[] = array_merge($datatmp, array('num'=>$ixx));
  23. }
  24. $titles = array(
  25. 'num'=>'Num',
  26. 'RPEREGASIS'=>'RPE del Empleado',
  27. 'FECREGASIS'=>'Fecha de Registro',
  28. 'entrada'=>'Hora de Entrada',
  29. 'salida'=>'Hora de Salida'
  30. );
  31. $options = array(
  32. 'shadeCol'=>array(0.9,0.9,0.9),
  33. 'xOrientation'=>'center',
  34. 'width'=>500
  35. );
  36. $txttit = 'REPORTE DE EMPLEADOS\n';
  37. $txttit.= 'SISTEMA DE VISTAS DE ASISTENCIAS \n';
  38. $pdf->ezText($txttit, 12);
  39. $pdf->ezTable($data, $titles, "", $options);
  40. $pdf->ezText('\n\n\n', 10);
  41. $pdf->ezText('Fecha: '.date('d/m/Y'), 10);
  42. $pdf->ezText('Hora: '.date('H:i:s').'\n\n', 10);
  43. $pdf->ezStream();
  44. ?>
  #16 (permalink)  
Antiguo 08/09/2011, 11:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 148
Antigüedad: 15 años, 7 meses
Puntos: 10
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Si queres pasar cosas de un textbox al pdf, el vinculo de acceso al pdf/php debe enviar los datos que queres que se carguen. Si lo haces con un form por ejemplo, en el action le mandas el generarPDF.php y te deberia abrir el pdf. Yo no sabia que fpdf ya venia en xampp, de todas formas recorda que el php que genera el pdf se debe cargar como una pagina individual, esto quiere decir que no deberias de necesitar el ob_end_clean(); a no ser que estes incluyendo el php que genera el pdf en otro php.

Que tenes en este archivo?
include_once('class.ezpdf.php');
  #17 (permalink)  
Antiguo 08/09/2011, 11:48
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

El archivo tiene 1555 líneas de codigo :s, pero me llamo atención que hereda de un tal "Cpdf" y no lo encuentro por ninguna carpeta, se me hace raro puesto que el XAMPP venpia con todas las funciones ya dentro del mismo, aunque no se si tenga mucha importancia... te dejo una parte del codigo del "class.ezpdf.php":

Código PHP:
Ver original
  1. <?php
  2.  
  3. include_once('class.pdf.php');
  4.  
  5. class Cezpdf extends Cpdf {
  6. //==============================================================================
  7. // this class will take the basic interaction facilities of the Cpdf class
  8. // and make more useful functions so that the user does not have to
  9. // know all the ins and outs of pdf presentation to produce something pretty.
  10. //
  11. // IMPORTANT NOTE
  12. // there is no warranty, implied or otherwise with this software.
  13. //
  14. // version 009 (versioning is linked to class.pdf.php)
  15. //
  16. // released under a public domain licence.
  17. //
  18. // Wayne Munro, R&OS Ltd, http://www.ros.co.nz/pdf
  19. //==============================================================================
  20.  
  21. var $ez=array('fontSize'=>10); // used for storing most of the page configuration parameters
  22. var $y; // this is the current vertical positon on the page of the writing point, very important
  23. var $ezPages=array(); // keep an array of the ids of the pages, making it easy to go back and add page numbers etc.
  24. var $ezPageCount=0;
  25.  
  26. // ------------------------------------------------------------------------------
  27.  
  28. function Cezpdf($paper='a4',$orientation='portrait'){

Ahora el ob_end_clean(); lo pongo por que cuando no lo incluyo aparte de todos los errores que puse en el post anterior, al principio también me sale este:

Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\PhpProject1\Fechas2.php on line 6

De nuevo gracias LhaN...
  #18 (permalink)  
Antiguo 08/09/2011, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Puede que la clase que tengas Cezpdf, ya no sea compatible con PHP5.3 y por eso te da esos errores, si realmente quieres usar esa clase (en lugar de DOMPDF por ejemplo) te recomendaría que desactives los E_NOTICE de tu php.ini y tu primera linea de tu ejemplo le quites el & y que de así:
Código PHP:
Ver original
  1. $pdf = new Cezpdf('a4');

Saludos.
  #19 (permalink)  
Antiguo 08/09/2011, 12:02
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Gracias GatorV... Nunca me he metido a modificar el php.ini será este??

"php.ini-development" o este "php.ini-production"

Son los únicos que me aparecen como en la carpeta de php... si es así los abro deste un .txt y ahi le modifico los valores o cómo??... Por lo pronto ya modifique la línea que me dijiste, aunque me sigue arrojando los mismo errores :s...

De nuevo gracias!!!...
  #20 (permalink)  
Antiguo 08/09/2011, 12:23
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Realiza un phpinfo() y verifica donde esta tu archivo de configuración y ese es el que tienes que cambiar la linea de error_reporting.

Saludos.
  #21 (permalink)  
Antiguo 08/09/2011, 12:30
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Ok lo encontre, pero como lo desactivo??...

Esto es lo que tengo :s...

; error_reporting
; Default Value: E_ALL & ~E_NOTICE
; Development Value: E_ALL | E_STRICT
; Production Value: E_ALL & ~E_DEPRECATED
  #22 (permalink)  
Antiguo 08/09/2011, 12:32
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Te recomiendo ver este tema de las FAQs

http://www.forosdelweb.com/f142/form...hp-ini-589310/

Saludos.
  #23 (permalink)  
Antiguo 08/09/2011, 12:42
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

La vi, pero aunque desactive los e_notice, de todas modas no correrá la página, pero bueno seguiré buscando y si avanzó o me sale esta cosa se los hago saber, muchas gracias por todo :p...
  #24 (permalink)  
Antiguo 08/09/2011, 12:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Si, desactivando los E_NOTICE no te debería de dar problemas porque ya no se lanzarían los errores, y podría mandar las cabeceras del PDF correctamente.

Saludos.
  #25 (permalink)  
Antiguo 08/09/2011, 12:58
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Bueno pues puse todos en E_ALL como decía en el tema que me pasaste, gracias, pero me siguió saliendo el mismo error, luego puse todas en Off, y lo mismo, me genera el mismo error... como es que se desactivan entonces, disculpa tantas molestias GatorV pero es que si estoy medio desesperadón...
  #26 (permalink)  
Antiguo 08/09/2011, 14:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

Prueba ponerlo como E_ALL & ~E_NOTICE para deshabilitar los notices, el error de DEPRECATED ya te indique como solucionarlo.

Saludos.
  #27 (permalink)  
Antiguo 09/09/2011, 07:59
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

=) Bueno ya se eliminaron los errores solo agregue esta línea al principio de mi código:

error_reporting(E_ALL & ~E_NOTICE);

Ahora si me genera el PDF el problema es que mis tablas me aparecen en blanco, realizando diversas consultas, si me aparece la tabla más o menos del tamaño de celdas que deben aparecer pero siempre sin ningún dato dentro ... Aquí esta el código :s...

Código PHP:
Ver original
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3.  
  4. include_once('class.ezpdf.php');
  5. $pdf =& new Cezpdf('a4');
  6. $pdf->selectFont('../fonts/Courier.afm');
  7. $pdf->ezSetCmMargins(1,1,1.5,1.5);
  8. //realizo la conexion
  9. $conectar=mysql_connect('localhost','root','');
  10.         if($conectar=NULL)
  11.         {
  12.             printf("Error al conectar a la Base de datos");
  13.         }
  14.  
  15.         mysql_select_db('registro');
  16.         $resultado=mysql_query("SELECT RPEREGASIS, FECREGASIS, MIN( HORREGASIS ) AS entrada, MAX( HORREGASIS ) as salida
  17.            FROM registro GROUP BY RPEREGASIS, FECREGASIS LIMIT 0,10");
  18. $ixx = 0;
  19. while($datatmp = mysql_fetch_assoc($resultado)) {
  20. $ixx = $ixx+1;
  21. $data[] = array_merge($datatmp, array('num'=>$ixx));
  22. }
  23. $titles = array(
  24. 'num'=>'Num',
  25. 'RPEREGASIS'=>'Nombre de Usuario',
  26. 'FECREGASIS’=>’Apellido',
  27. 'entrada'=>'Ocupación',
  28. 'salida'=>'Mail'
  29. );
  30. $options = array(
  31. 'shadeCol'=>array(0.9,0.9,0.9),
  32. 'xOrientation'=>'center',
  33. 'width'=>1000
  34. );
  35. $txttit = 'BLOG.UNIJIMPE.NET\n';
  36. $txttit.= 'Ejemplo de PDF con PHP y MYSQL \n';
  37. $pdf->ezText($txttit, 12);
  38. $pdf->ezTable($data, $titles, '', $options);
  39. $pdf->ezText('\n\n\n', 10);
  40. $pdf->ezText('Fecha: '.date('d/m/Y'), 10);
  41. $pdf->ezText('Hora: '.date('H:i:s').'\n\n', 10);
  42. $pdf->ezStream();
  43. ?>

Gracias GatorV y de nuevo disculpa por las molestias...
  #28 (permalink)  
Antiguo 26/06/2012, 00:10
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Generar PDF apartir de PHP y MySQL!!!...

No se si es demasiado tarde la respuesta, primero que todo el problema con los mensaje de error es que en la linea 5. $pdf =& new Cezpdf('a4'); debe quedar $pdf = new Cezpdf('a4');, puesto que en php 5.3 esta opcion ha sido deprecada, con respecto a los vacios en los resultados de la tabla es posible que si maneja fechas, deberia hacer un echo de la consulta porque puede esta apareciendo la fecha mal como por ejemplo \'2011-09-09'\ y la consulta estaria vacia

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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 16:46.