Foros del Web » Programando para Internet » PHP »

Problemas al crear un pdf con fpdf

Estas en el tema de Problemas al crear un pdf con fpdf en el foro de PHP en Foros del Web. Hola a todos, quiero crear un pdf, cuyos datos previamente cojo de una consulta a mi BD. Tanto la consulta como la creación del pdf ...
  #1 (permalink)  
Antiguo 20/05/2008, 10:50
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años
Puntos: 0
Pregunta Problemas al crear un pdf con fpdf

Hola a todos,

quiero crear un pdf, cuyos datos previamente cojo de una consulta a mi BD. Tanto la consulta como la creación del pdf lo hago en el mismo fichero y es ahí donde creo que radica el problema.

El problema que me dá es el siguiente:

Código PHP:
WarningCannot modify header information headers already sent by (output started at C:xampphtdocsServicioTutoriasNegociogestorbd.php:69in C:xampphtdocsServicioTutoriasNegocioPDFfpdf.php on line 1022
FPDF error
Some data has already been output to browsercant send PDF file 
El fichero que genera el código es este:

Código PHP:
<?php

require('../Negocio/celdas.php');
include_once(
'../Negocio/PDF/fpdf.php');
include_once(
'../Negocio/gestortutorias.php');



class 
PDF extends FPDF
{


    
//Tabla simple
    
function Tabla($cabecera,$datos)
    {
        
//Cabecera
        
$this->SetFont('Arial','B',14);
    
        for(
$i=0;$i<count($cabecera);$i++)
        {
            
$col=$cabecera[$i];
            
$this->Cell(32,7,$col,1,0,'C');
        }
        
        
$this->Ln();
        
        
//Datos
        
        //Mostrar toda la tabla rellenandola
        //Fila
        
$h=8;
        for(
$i=1;$i<15;$i++)
        {
            
            
//Columnas
            
for($j=0;$j<6;$j++)
            {
                if(
$j==0)
                {
                    
$this->SetFont('Arial','B',12);
                    
$n=$h+1;
                    
//columna horario
                    
$col=$h.":00-".$n.":00";
                    
$this->Cell(32,6,$col,1,0,'C');
                    
$h=$h+1;
                }
                else
                {
                    
//resto de columnas
                    //ver si las coordenas coinciden
                    
$celda=new Celda();
                    
$celdas=new Celdas();
                    
$celda=$celdas->Comparar($j,$i,$datos);
                    
//si la celda devuelta esta vacía se muestra una celda vacia
                    
if($celda->getTema()=='')            
                    {
                        
//celda vacía
                        
$col=" ";
                        
$this->Cell(32,6,$col,1,0,'C');
                        
                    }
                    else
                    {
                        
$this->SetFont('Arial','',12);
                        
$col=$celda->getTema();
                        
$this->Cell(32,6,$col,1,0,'C');
                    }        
                    
                }
            }
            
            
$this->Ln();    
            
        }
        
    }
}


//Recoger el usuario
$usuario=$_REQUEST['profesor'];
//Recoger todos los datos necesarios de este usuario
//Extaer de la Bd datos de sus tutorias
$tutorias=new GestorTutorias();
$tutoriasRes=array();

$tutoriasRes=$tutorias->BuscarTutorias($usuario);
//vector con las coordenadas de cada tutoria
$coordenadas=array();
$celdas=new Celdas();

for(
$i=0;$i<count($tutoriasRes);$i++)
{
    
$tutoria=new Tutoria();
    
$tutoria=$tutoriasRes[$i];
    
    
$dia=$tutoria->getDia();
    
$hInicio=$tutoria->getHoraInicio();
    
$hFin=$tutoria->getHoraFin();
    
$tema="TUTORÍA";
    
    
$coordenadas[$i]=$celdas->Coordenadas($dia,$hInicio,$hFin,$tema);
}

//crear el pdf
//ob_end_clean();
$pdf=new PDF();
//Títulos de las columnas
$cabecera=array('','Lunes','Martes','Miércoles','Jueves','Viernes');
$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->Tabla($cabecera,$coordenadas);
$pdf->Output('profesor.pdf','I');
?>
  #2 (permalink)  
Antiguo 20/05/2008, 11:22
 
Fecha de Ingreso: marzo-2008
Mensajes: 119
Antigüedad: 16 años
Puntos: 0
Respuesta: Problemas al crear un pdf con fpdf

He encontrado el problema. En el fichero gestorbd.php, tengo puesto:

Código PHP:
error_reporting(E_ALL); # pasa cualquier mensaje de error al manajeador de errores 
que viene con el paquete de ADODB, para el tratamiento de errores. Al quitarlo funciona, pero ahora además de tener el inconveniente de no tener los errores, no me muestra los acentos.

¿Alguién sabe cómo resolver esto?
  #3 (permalink)  
Antiguo 20/05/2008, 12:27
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: Problemas al crear un pdf con fpdf

Cámbialo de está forma:
Código PHP:
error_reporting(E_ALL E_NOTICE); 
Así te mostrara los errores, pero no los notices.

Saludos.
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 1 personas




La zona horaria es GMT -6. Ahora son las 17:50.