Foros del Web » Programando para Internet » PHP »

Generar varios archivos PDF

Estas en el tema de Generar varios archivos PDF en el foro de PHP en Foros del Web. Hola! He buscado en el foro y no he visto la solución a mi problema. Les explico: Quiero generar por cada documento leido, de una ...
  #1 (permalink)  
Antiguo 08/09/2014, 13:51
Avatar de Nina  
Fecha de Ingreso: septiembre-2002
Mensajes: 22
Antigüedad: 21 años, 7 meses
Puntos: 0
Generar varios archivos PDF

Hola! He buscado en el foro y no he visto la solución a mi problema.
Les explico:
Quiero generar por cada documento leido, de una Tabla Mysql, un archivo pdf distinto con los datos correspondientes a cada persona, y volcarlos al servidor a cada archivo pdf.
El problema es que genera los archivos peros siempre con los datos del primer registro leido.
Alguien me puede ayudar por favor. Gracias!
  #2 (permalink)  
Antiguo 08/09/2014, 15:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Generar varios archivos PDF

Cita:
El problema es que genera los archivos peros siempre con los datos del primer registro leido.
Sería interesante ver cómo es la rutina que has programado, ¿o esperas a que adivinemos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 09/09/2014, 12:03
Avatar de Nina  
Fecha de Ingreso: septiembre-2002
Mensajes: 22
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: Generar varios archivos PDF

Perdón pateketrueke, pense que no hacía falta el código. Ahi lo escribo:
Pgm1:
<?php
require("funciones.php"); // conexion a base de datos
require('c:\fpdf\fpdf.php'); // libreria fpdf
$pdf=new FPDF();
$sql="select * from personas";
$resultado=mysql_query($sql,$conexion) ;
$filas=mysql_num_rows($resultado);
while ($fila = mysql_fetch_array($resultado))
{
$doc= $fila["doc"];
$apellido= $fila["apellido"];
require("Pgm2.php");
}
?>

y el otro Pgm:
Pgm2:
<?php
$pdf->AddPage();
$pdf-> SetX(10);
$sqla="select * from personas_lineas where doc='$doc' ";
$resultadoa=mysql_query($sqla,$conexion) ;
$filasa=mysql_num_rows($resultadoa);
while ($filaa = mysql_fetch_array($resultadoa))
{
$conc=$filaa["conc"];
$apellido=$filaa["apellido"];
$pdf->SetFont('Arial','B',12);
$pdf->Cell(30,7,'Nombre',1,0,'L');
$pdf->Cell(30,7,$apellido,1,1,'L');
$pdf->Cell(30,7,'Concepto',1,0,'L');
$pdf->Cell(30,7,$conc,1,0,'L');
$file="prueba".$doc.".pdf";
}
$pdf->Output($file,'F');
?>
Debería generar tantos pdf distintos como personas tenga la tabla. Me genera los archivos pdf, pero con los datos del primer registro leido.
Alguien si puede ayudarme. Gracias!!!
  #4 (permalink)  
Antiguo 09/09/2014, 12:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Generar varios archivos PDF

¿No deberías crear un objeto FPDF por cada usuario?

Es decir, en tu código se nota que reusas el mismo objeto y además usas addPage() ¿con qué sentido?

¿Quieres generar documentos diferentes o paginas dentro del PDF?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 09/09/2014, 12:29
Avatar de Nina  
Fecha de Ingreso: septiembre-2002
Mensajes: 22
Antigüedad: 21 años, 7 meses
Puntos: 0
Respuesta: Generar varios archivos PDF

Gracias por responderme pateketrueke, Quiero generar documentos diferentes por cada persona. No comprendo como generar un objeto FPDF por cada persona??.
En mi tabla tengo 3000 personas es decir generaría 3000 pdf distintos, como lo haría???
  #6 (permalink)  
Antiguo 09/09/2014, 13:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Generar varios archivos PDF

Creo que deberías consultar la documentación de FPDF, a simple vista sólo instancias un objeto con:

Código PHP:
Ver original
  1. $pdf=new FPDF();

Y a partir de ahí, en tu while(), agregas una página al objeto y no creas uno nuevo.

Código PHP:
Ver original
  1. $pdf->AddPage();

¿Estás consciente de lo que haces?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: mysql, pdf, registro, tabla
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 13:27.