Foros del Web » Programando para Internet » PHP »

"Reportes pdf desde php de nuevo" (Ya casi...))

Estas en el tema de "Reportes pdf desde php de nuevo" (Ya casi...)) en el foro de PHP en Foros del Web. Hola a todos de nuevo, sigo aqui molestando con lo de los reportes, ayer con la ayuda de xime y occp, logre mandar algo a ...
  #1 (permalink)  
Antiguo 04/06/2011, 09:10
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
"Reportes pdf desde php de nuevo" (Ya casi...))

Hola a todos de nuevo, sigo aqui molestando con lo de los reportes, ayer con la ayuda de xime y occp, logre mandar algo a pdf (por fin) pero no me servia de nada el reporte asi porque me imprimia un reporte, por cada registro. Cuando lo que necesito yo es un reporte completo. Reacomode mis codigos con una nueva estructura, pero a la hora de mandarlo a pdf, ahora por medio de un boton me dice que no he cerrado correctamente las etiquetas html. Algo como esto:

ERROR n°5
Fichero : C:\xampp\htdocs\pdf\html2pdf\_class\parsingHtml.cl ass.php
LÃ*nea : 218

Código HTML no válido, todas las etiquetas deben tener su cierre.
Estado :
Array
(
[0] => form
)


Pero he revisado una y otra vez mi codigo y yo lo veo bien, no se si pudieran ayudarme, muchas gracias a todos, debajo dejo los codigos que tengo:

Pantalla principal ya con todos los registros cargados, y con un boton para mandar a imprimir:

Código PHP:
Ver original
  1. <?php
  2. echo"<form action='reporte2.php' method='POST'>";
  3. //conexion a la base
  4. $conexion=mysql_connect('localhost','root','')or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
  5. $base=mysql_select_db('aceros_anglo',$conexion)or die("IMPOSIBLE CONECTARSE A LA BASE");
  6. $c="SELECT * FROM productos";
  7. $res=mysql_query($c);
  8. $filas=mysql_num_rows($res);
  9. echo"<table border=1><tr><td>Clave del producto</td><td>Nombre</td><td>Existencias</td><td>Fecha de alta</td></tr>";
  10. for($y=0;$y<$filas;$y++)
  11.   {
  12.    $nombre=mysql_result($res,$y,'nombre');
  13.    $idp=mysql_result($res,$y,'idp');
  14.    $existencia=mysql_result($res,$y,'existencia');
  15.    $fecha=mysql_result($res,$y,'fecha_alta');
  16.    echo"<tr><td>$idp</td><td>$nombre</td><td>$existencia</td><td>$fecha</td></tr>";
  17.   }
  18. echo"</table><input type='submit' value='Imprimir en pdf'>";
  19. ?>

Codigo para imprimir, proporcionado por xime (Gracias xime):

Código PHP:
Ver original
  1. <?php
  2. include('tabla1.php');
  3. $content_html = ob_get_clean();
  4.  
  5.     // initialisation de HTML2PDF
  6.        //Ruta de mi clase..... aqui tu ve donde esta
  7.     require_once('html2pdf/html2pdf.class.php');
  8.     try
  9.     {
  10.                 ///Cositas para configurar tipo de hora, formato, etc...
  11.         $html2pdf = new HTML2PDF('P','Letter','es', false, 'ISO-8859-15', array(0, 0, 0, 0));
  12.         $html2pdf->writeHTML($content_html, isset($_GET['vuehtml']));
  13.         $html2pdf->createIndex('', 25, 12, false, true, 1);
  14.                 ///Nombre del archivo pdf      
  15.                 $html2pdf->Output('Report.pdf');
  16.     }
  17.       //Si no mal recuerdo para que lo descargue y no lo muestre... ??? quedo en confirmar jaja
  18.     catch(HTML2PDF_exception $e) { echo $e; }
  19. ?>


Espero me puedan ayudar ya estoy harto de este tema de verdad. ..
  #2 (permalink)  
Antiguo 04/06/2011, 09:20
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Lee el error:
Código HTML no válido, todas las etiquetas deben tener su cierre.

¿Donde has cerrado el form? </form>
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #3 (permalink)  
Antiguo 04/06/2011, 09:24
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Je cierto IEKK no tenia cerrado el form, pero ahora que lo hice me aparecio esto:

Notice: Undefined offset: -1 in C:\xampp\htdocs\pdf\html2pdf\_class\myPdf.class.ph p on line 1275
TCPDF ERROR: Some data has already been output, can't send PDF file


De casualidad sabes a que se debe....
  #4 (permalink)  
Antiguo 04/06/2011, 09:29
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Sólo entiendo por el undefined offset que estás accediendo a un elemento de un array que no existe.

Mmm pero nunca he usado esa clase en concreto para hacer pdfs, ni se que hay en la línea on line 1275, pero presunpongo que algún valor en estas líneas son incorrectas:

Código PHP:
        $html2pdf = new HTML2PDF('P','Letter','es'false'ISO-8859-15', array(0000));
        
$html2pdf->writeHTML($content_html, isset($_GET['vuehtml']));
        
$html2pdf->createIndex(''2512falsetrue1); 
Eso sí no te lo puedo asegurar al 100%
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #5 (permalink)  
Antiguo 04/06/2011, 09:44
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Estas en lo correcto IEKK el problema era la tercera linea, gracias por ello, pero ahora surgio otro detalle. Agregue otra linea de código que también me proporciono xime. Y ya me abre el pdf pero el unico detalle es que tambien me pone el boton en el pdf???

Asi esta mi codigo ahora:
Código PHP:
Ver original
  1. <?php
  2.  
  3. include('tabla1.PHP');  //aqui pones el nombre del archivo que quieres convertir
  4.  
  5.  
  6. $content_html = ob_get_clean();
  7. // initialisation de HTML2PDF
  8. //Ruta de mi clase.....
  9. require_once('html2pdf/html2pdf.class.php');  // laruta  de la libreria, en este caso yo la tengo en wamp/www y dentro de www hice una carpeta que se llama html2pdf y pegue todo , y asi maneje la instruccion de ruta..... tal y como esta con los puntos
  10. try
  11. {
  12. ///configurar tipo de hora, formato, etc...
  13. $html2pdf = new HTML2PDF('l','Letter','es', false, 'ISO-8859-15', array(0, 0, 0, 0));
  14. $html2pdf->writeHTML($content_html, isset($_GET['vuehtml']));
  15. //$html2pdf->createIndex('', 25, 12, false, true, 1);
  16.  
  17. ///Nombre del archivo pdf      
  18. $html2pdf->Output('mi_pdf.pdf');
  19. }
  20. //para que lo descargue
  21.  
  22. catch(HTML2PDF_exception $e) { echo $e; }
  23. $contenido_extra=file_get_contents();
  24. ?>
  #6 (permalink)  
Antiguo 04/06/2011, 09:55
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Es normal que te lo añada está dentro del código html que le has puesto.
Ten en cuenta que estás enviando tooodo el formulario y no sólo la consulta.
Te está convirtiendo toda la página en pdf. Hay muchas formas de solucionarlo pero lo único que debes hacer es separar la parte del formulario de la consulta.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #7 (permalink)  
Antiguo 04/06/2011, 09:55
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

hola:

si efectivament todo lo que pongas en tu pagina para convertir te lo realiza, incluso los botones, mmmm no se si se pueda hacer, recuerdo que en visual basic al dar clic en un podias darle false en visible para que no se visualice pero no se si en php igual se pueda hacer eso y asi al crear el pdf ya no aparezca.....

bueno es una idea, no se si se pueda realizar, me pasa lo mismo con el boton ji ji ji

Saludos !!!!!!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #8 (permalink)  
Antiguo 04/06/2011, 10:00
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Hola !!!

Cita:
separar la parte del formulario de la consulta.
disculpa .... a que te refieres con eso, algun tips o sugerencia ....mi cabecita recorrio todo el mundo y no dio con ese termino ....

gracias !!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #9 (permalink)  
Antiguo 04/06/2011, 10:10
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

si me das unos minutos les explico que veo desde hace tiempo que llevan varios post con lo mismo del pdf.

Eso sí, nunca he usado esa clase, yo me quede con dompdf xD, pero intentaré darles la idea.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #10 (permalink)  
Antiguo 04/06/2011, 10:12
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

asi es compañero, a mi me salio pero aun faltan detalles , pero use el html2pdf

pero aqui el compañero aun sigue batallando...

mil gracias ...
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #11 (permalink)  
Antiguo 04/06/2011, 10:15
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

No xime no resulto, ya puse algunos eventos onclick pero nada el boton sigue apareciendo. IEKK, es posible hacer lo que me dices de separar la parte del formulario de la consulta????
  #12 (permalink)  
Antiguo 04/06/2011, 10:29
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Disculpen, estuve ausente.

Código PHP:
    <?php

    
/*---------------------*/
    //CONSULTA:
    
$conexion=mysql_connect('localhost','root','')or die("IMPOSIBLE CONECTARSE AL SERVIDOR");
    
$base=mysql_select_db('aceros_anglo',$conexion)or die("IMPOSIBLE CONECTARSE A LA BASE");

    
$res=mysql_query("SELECT * FROM productos") or die(mysql_error());

    
$html="<table border=1><tr><td>Clave del producto</td><td>Nombre</td><td>Existencias</td><td>Fecha de alta</td></tr>";
    
    while(
$row=mysql_fetch_assoc($res))
    
$html.="<tr><td>".$row['idp']."</td><td>".$row['nombre']."</td><td>".$row['existencia']."</td><td>".$row['fecha_alta']."</td></tr>";

    
$html.="</table>";
    
    
/*---------------------*/
    //FORMULARIO:
    
    
if(! isset($_POST['subir'])) { echo'<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';}

    echo 
$html// muestra la consulta siempre
    
    
if(! isset($_POST['subir'])) {echo'<input name="subir" type="submit" value="Imprimir en pdf">';}

    
/*---------------------*/
    //Convertir a pdf
    
if(isset($_POST['subir']))
    {    
        
ob_start();

        
$content_html ob_get_clean();
        
// initialisation de HTML2PDF
        //Ruta de mi clase.....
        
require_once('html2pdf/html2pdf.class.php');  // laruta  de la libreria, en este caso yo la tengo en wamp/www y dentro de www hice una carpeta que se llama html2pdf y pegue todo , y asi maneje la instruccion de ruta..... tal y como esta con los puntos
        
try
        {
        
///configurar tipo de hora, formato, etc...
        
$html2pdf = new HTML2PDF('l','Letter','es'false'ISO-8859-15', array(0000));
        
$html2pdf->writeHTML($content_html, isset($_GET['vuehtml']));
        
//$html2pdf->createIndex('', 25, 12, false, true, 1);
         
        ///Nombre del archivo pdf      
        
$html2pdf->Output('mi_pdf.pdf');
        }

        catch(
HTML2PDF_exception $e) { echo $e; }
        
$contenido_extra=file_get_contents();
    }
    
?>
Edito e intento explicar:

Bueno como nunca había usado esa clase lo hice sobre la marcha según los códigos de patiurco.
Como verán el formulario solo se va a mostrar si no se ha hecho click en el botón.
La tabla siempre se va a mostrar.

No es necesario hacer ningún include. Basta un echo, ya que el código para pdf convierte el html.

Es una adaptación del código que acabo de improvisar, no pidan mucho jeje.
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(

Última edición por IEKK; 04/06/2011 a las 10:38
  #13 (permalink)  
Antiguo 04/06/2011, 10:40
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Entonces serian tres archivos, o dos. Serian dos no uno que es el de la consulta, y otro del resto no.???

Acabo de probarlo, si no me equivoco se debe poner todo el codigo en un mismo archivo no???, unicamente le agregue una 'D' a la linea para la salida del pdf, y lo unico que me marco fue el siguiente error:

TCPDF ERROR: Some data has already been output, can't send PDF file

Última edición por patiurco; 04/06/2011 a las 10:48
  #14 (permalink)  
Antiguo 04/06/2011, 11:13
 
Fecha de Ingreso: agosto-2010
Ubicación: Tenerife
Mensajes: 893
Antigüedad: 13 años, 8 meses
Puntos: 202
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Iría en un archivo. Como ya te dije no uso esa clase.
Sólo puse un ejemplo de como separar las partes.

En este post parece que tuvieron el mismo problema y por lo visto era una cuestión de permisos en el ftp.
http://www.forosdelweb.com/f18/probl...-tcpdf-474165/
__________________
Pensaba que internet era una gran biblioteca de sabiduría, hasta que comprendí que un libro no puede tener mil páginas llenas de faltas de ortografía... :(
  #15 (permalink)  
Antiguo 04/06/2011, 11:46
Avatar de Ximenitaa  
Fecha de Ingreso: abril-2011
Ubicación: Mexico
Mensajes: 208
Antigüedad: 13 años
Puntos: 43
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Gracias EIKK por tu aportacion, es de gran ayuda, asi me doy una idea de como realizarlo, hare mis pruebas y luego les comento .....


Saludos !!
__________________
❤(。◕‿◕)❤ . . . Ten un dia .... GeNiAl.... !!!! . . . ❤(◕‿◕。)❤

¿Que dia es hoy? . . . Hoy, hoy, es definitivamente un dia PERFECTO !!
  #16 (permalink)  
Antiguo 04/06/2011, 11:56
 
Fecha de Ingreso: mayo-2011
Ubicación: Toluca
Mensajes: 115
Antigüedad: 12 años, 11 meses
Puntos: 2
Respuesta: "Reportes pdf desde php de nuevo" (Ya casi...))

Pues ya lo intente pero nada, me rindo me quedo con el que tengo, de cualquier modo al mandar a imprimir, el boton no aparece. De cualquier forma espero tu comentario ximee haber que lograste va adios a todos y muchas gracias por todo.

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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:31.