Foros del Web » Programando para Internet » PHP »

fpdf

Estas en el tema de fpdf en el foro de PHP en Foros del Web. alguien que me pueda ayudar con este codigo,no me funciona con I.E: Código PHP: <?php require( 'fpdf.php' ); include( "conexion.php" ); $cadena = "SELECT e.nref,a.nombre,e.fecha_alta,e.fecha_baja,p.tipo,u.nombre,ub.nombre,e.observaciones,e.estado FROM elementos e,articulos a,procedencias p,unidades_organizativas u ,ubicaciones ub WHERE e.id_articulo=a.id AND e.id_procedencia=p.id AND e.id_pertenencia=u.id AND e.id_ubicacion=ub.id ORDER BY E.NREF INTO OUTFILE \"a.txt\" FIELDS TERMINATED BY ';' " ; ...
  #1 (permalink)  
Antiguo 14/08/2007, 03:33
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Pregunta fpdf

alguien que me pueda ayudar con este codigo,no me funciona con I.E:

Código PHP:
<?php
require('fpdf.php');

include(
"conexion.php");


$cadena="SELECT e.nref,a.nombre,e.fecha_alta,e.fecha_baja,p.tipo,u.nombre,ub.nombre,e.observaciones,e.estado FROM elementos e,articulos a,procedencias p,unidades_organizativas u ,ubicaciones ub WHERE e.id_articulo=a.id AND e.id_procedencia=p.id AND e.id_pertenencia=u.id AND e.id_ubicacion=ub.id ORDER BY E.NREF INTO OUTFILE \"a.txt\" FIELDS TERMINATED BY ';' ";
$consulta=mysql_query($cadena,$conexion) or die ("Error al consultar familias a null");



//copia
$file 'C:\Archivos de programa\EasyPHP1-8\mysql\data\inventario\a.txt';
$newfile 'a.txt';
if (!
copy($file$newfile))
echo 
"fallo para copiar $file...\n";

//borra
$dir='C:\Archivos de programa\EasyPHP1-8\mysql\data\inventario\a.txt'
if(
file_exists($dir)) 

if(!
unlink($dir)) 
print 
"El archivo no fue borrado"




class 
PDF extends FPDF
{
//Cargar los datos


function LoadData($file)
{
    
//Leer las líneas del fichero
    
$lines=file($file);
    
$data=array();
    foreach(
$lines as $line)
        
$data[]=explode(';',chop($line));
    return 
$data;
}

//Tabla simple
function BasicTable($header,$data)
{

$this->SetFont('Arial','',14);
    
//Cabecera
      
  
    
foreach($header as $col)
       
$this->Cell(30,15,$col,1,0,'C');

    
$this->Ln();
    
//Datos
    
foreach($data as $row)
    {   
        foreach(
$row as $col)
        {
                
$this->Cell(30,6,$col,1,0,'C');
                     
                     
                      
                     
                    }
        
$this->Ln();
    }
}


function 
Header()
{
        
$this->Image('logo.png',10,8,50,10);
    
//Movernos a la derecha
    
$this->setXY(20,14); 
    
//Título
    
$this->SetTextColor(0,100,20);
    
$this->SetFont('Arial','B',16);
    
$this->Cell(30,10,'CONSEJERÍA DE EDUCACIÓN',0,0,'C');

    
//Salto de línea
    
$this->Ln(10);
    
$this->Cell(120);
    
$this->SetTextColor(0,0,0);
    
$this->SetFont('Times','B',14);
    
$this->Cell(30,10,'ANEXO',0,0,'C');
    
    
    
$this->Ln(10);
    
$this->Cell(85);
    
$this->Cell(100,8,'REGISTRO DE INVENTARIO',1,0,'C');

    
$this->Ln(10);
    
$this->Cell(5);
    
$this->SetFont('Arial','',14);
    
$this->Cell(15,10,'Centro:  ',0,0,'C');
    
//$this->Cell(15,10);
  
    
$this->Cell(130,10,'_____________________________________________',0,0,'C');
        
$this->Cell(3);
    
    
$this->Cell(30,10,'Curso Escolar:  ',0,0,'C');
        
$this->Cell(1);
    
$this->Cell(38,10,'______ /______',0,0,'C');        
        
$this->Ln(10);

        
$this->Cell(5);
    
$this->Cell(15,10,'Código:  ',0,0,'C');
    
//$this->Cell(15,10);
    
$this->Cell(1);
    
$this->Cell(30,10,'__________',0,0,'C');
        
$this->Cell(1);
    
    
$this->Cell(30,10,'Provincia:  ',0,0,'C');
        
$this->Cell(1);
    
$this->Cell(30,10,'_____________',0,0,'C');        
        
$this->Cell(5);
        
$this->Cell(30,10,'Localidad:  ',0,0,'C');
        
$this->Cell(1);
    
$this->Cell(70,10,'___________________________',0,0,'C');        
        
$this->Ln(10);
$this->Cell(80);

        
$this->Cell(100,10,'LIBRO DE ENTRADAS EN EL CURSO ESCOLAR ',0,0,'C');
$this->Cell(10);
$f2="FECHA: ";
$f=date("d/m/Y");
    
$this->Cell(50,10,$f2.$f,0,0,'C');
  


         
$this->Ln(15);
 
}


function 
Footer()
{
    
//Posición: a 1,5 cm del final
    
$this->SetY(-15);
    
//Arial italic 8
    
$this->SetFont('Arial','I',8);
    
//Número de página
    
$this->Cell(0,10,'Página: '.$this->PageNo().'/{nb}',0,0,'C');
}

}


//$pdf=new PDF();
$pdf=new PDF('L','mm','A4');
//Títulos de las columnas
$pdf->Header();

$header=array('Nº Registro','Artículo','F.Alta','F.Baja','Procedencia','Pertenencia','Ubicacion','Observ.','Estado');


// echo date ( "d/m/Y" );

//Carga de datos

$data=$pdf->LoadData('a.txt');

$pdf->SetFont('Arial','',14);
$pdf->AliasNbPages();

$pdf->AddPage();
$pdf->BasicTable($header,$data);

//$pdf->AddPage();
//$pdf->ImprovedTable($header,$data);
//$pdf->AddPage();
//$pdf->FancyTable($header,$data);

$pdf->Output();

$dir='a.txt'
if(
file_exists($dir)) 

if(!
unlink($dir)) 
print 
"El archivo no fue borrado"

?>
  #2 (permalink)  
Antiguo 14/08/2007, 08:01
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
Re: fpdf

No veo en tu codigo en que parte mandas el header para indicar que es un archivo PDF.

Saludos.
  #3 (permalink)  
Antiguo 14/08/2007, 14:55
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

¿No se manda así?:

$pdf->Header();

Si hay otra manera por favor,indíquemelo.
Gracias
  #4 (permalink)  
Antiguo 14/08/2007, 15:01
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 8 meses
Puntos: 6
Re: fpdf

Creo que la clase fpdf se ocupa internamente de enviar las cabeceras indicadas.

Reduce tu codigo, prueba algo sencillo y ve descomentando lineas de a poco para ver que es lo que te causa problemas.

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 14/08/2007, 15:06
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Eso he echo, he ido acortando la cabecera y es la linea:

$this->Cell(100,10,'LISTADO DE USUARIOS',0,0,'C');
y no se porque...
Tu lo entiedes?

Saludos fridueiks y gracias.
  #6 (permalink)  
Antiguo 14/08/2007, 15:27
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 8 meses
Puntos: 6
Re: fpdf

No veo esa linea en el codigo de arriba... sacando eso todo funciona correctamente? porque al parecer estan bien los parametros de ese metodo.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 14/08/2007, 15:34
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Si ésta arriba,pero con otro texto,toda la cabecera esta llena de mensajes a escribir en el pdf.

Pues no se que será,con el mozilla me lo muestra perfectamente.
Si sabe alguien algo que me lo diga por favor,GRACIAS FRIDUREIKS ;)
  #8 (permalink)  
Antiguo 14/08/2007, 15:35
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
Re: fpdf

Segun yo tengo entendido si necesitas explicitamente mandar la cabecera de tipo de archivo PDF, a menos que ya la nueva version de la clase lo haga.

Saludos.
  #9 (permalink)  
Antiguo 14/08/2007, 15:41
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Yo pongo en la cabecera:
function Header()
{
$this->SetFont('Arial','B',15);
$this->Cell(0,10,'LISTADO DE USUARIOS DEL I.E.S GRAN CAPITÁN',1,1,'C');
$this->Ln(15);
}
y me da errores,si quito esto,no hay problema.

Que quieres decir gatorv con "necesitas explicitamente..."??
no entiendo,yo llamo despues de escribir las funciones a la funcion header(),así: $pdf->Header();
No es asi??


Saludos y gracias
  #10 (permalink)  
Antiguo 14/08/2007, 15:45
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
Re: fpdf

No olvidalo ya la funcion Output se encarga, ahora dices que si quitas la funcion Header funciona bien tanto en Firefox como en IE?

Saludos.
  #11 (permalink)  
Antiguo 14/08/2007, 15:50
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Exacto,en firefox me funciona siempre (con o sin cabecera) y en i.e si quito la cabecera todo va perfecto pero sin cabecera,(claro).Y si en i.e dejo el header con las lineas estas que te he mostrado, da errores.


Saludos y gracias
  #12 (permalink)  
Antiguo 14/08/2007, 15: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
Re: fpdf

mmm mira en la pagina del FPDF, checa el FAQ hablan de problemas en general con IE, revisa las soluciones que proponen e implementalas.

Saludos.
  #13 (permalink)  
Antiguo 14/08/2007, 16:07
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Eso ya lo hice pero gracias de todas formas ;)
  #14 (permalink)  
Antiguo 14/08/2007, 16:15
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
Re: fpdf

Otra opcion puede ser que borres los cookies y los archivos temporales de IE, y cierres y abras el IE nuevamente e intentes el script.

Saludos.
  #15 (permalink)  
Antiguo 14/08/2007, 16:19
Avatar de SILVI85  
Fecha de Ingreso: julio-2007
Mensajes: 109
Antigüedad: 16 años, 8 meses
Puntos: 1
Re: fpdf

Tambien lo hice y nada,gracias :)
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




La zona horaria es GMT -6. Ahora son las 08:04.