Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] generacion de PDF con FPDI y MySql

Estas en el tema de generacion de PDF con FPDI y MySql en el foro de PHP en Foros del Web. Buenas tardes compañeros, tengo el siguiente código: Código PHP: <?php //creamos la sesion session_start (); //validamos si se ha hecho o no el inicio de sesion correctamente, si no se ha hecho la sesion nos regresará a la pagina de Login.php if(! $_SESSION [ 'Acceso' ]){      header ( "Location: Login.php" );     exit; ...
  #1 (permalink)  
Antiguo 26/04/2015, 16:14
Gu4diana
Invitado
 
Mensajes: n/a
Puntos:
generacion de PDF con FPDI y MySql

Buenas tardes compañeros, tengo el siguiente código:

Código PHP:
<?php
//creamos la sesion
session_start();
//validamos si se ha hecho o no el inicio de sesion correctamente, si no se ha hecho la sesion nos regresará a la pagina de Login.php
if(!$_SESSION['Acceso']){
    
header("Location: Login.php");
    exit;
}
ob_start();

require_once(
'fpdf/fpdf.php');
require_once(
'fpdi/fpdi.php');
require(
'Conexion.php');

$peri $_GET["Per"];

// initiate FPDI
$pdf = new FPDI();
// add a page
$pdf->AddPage();
// set the source file
$pdf->setSourceFile("F01-21SS01.pdf");
// import page 1
$tplIdx $pdf->importPage(1);
// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplIdx0000true);

// now write some text above the imported page
$pdf->SetFont('Helvetica','','10');
$pdf->SetTextColor(25500);
$pdf->SetXY(4568);
$pdf->Write(0$peri);

// now write some text above the imported page
$pdf->SetFont('Helvetica','','20');
$pdf->SetTextColor(25500);
$pdf->SetXY(140.545);
$pdf->Write(0'X');

ob_end_clean();
$pdf->Output();
?>
<?
?>
El cual como pueden ver ya uso una plantilla predefinida de PDF y ya solo es cuestion de llenarla, nada facil a si como esta el codigo pues funciona.

Mi problema esta en que quiero ahora usar una consulta a mi base de datos cargue algunos parametros mas y empieze a llenar en automatico, con salto de pagina y obviamente usando la misma plantilla base de PDF.

Intente hacer algo parecido con lo de este post y mezclarlo con lo que tengo lo cual no me funciono pues me muestra el resultado final en blanco y sin salto de pagina.

[URL="http://www.tecnopedia.net/php-scripts/crear-pdf-con-php-y-fpdf/"]http://www.tecnopedia.net/php-scripts/crear-pdf-con-php-y-fpdf/[/URL]

Ahora bien, lo hice de esta manera, igual y les da una idea pero no funciona

Código PHP:
// initiate FPDI
$pdf = new FPDI();

$reg mysqli_query($con,"SELECT COUNT (*) FROM userksgl WHERE (periodo_mantto='".$peri."')");

// iteramos N vece
for($i=0$i $reg$i++){
    
// add a page
$pdf->AddPage();
// set the source file
$pdf->setSourceFile("F01-21SS01.pdf");
// import page 1
$tplIdx $pdf->importPage(1);
// use the imported page and place it at point 10,10 with a width of 100 mm
$pdf->useTemplate($tplIdx0000true);
}

$sql mysqli_query($con,"SELECT * FROM userksgl WHERE (periodo_mantto='".$peri."')");
while(
$row=mysqli_fetch_array($sql))
{
$name $row['nombre_usuario'];
$per $row['periodo_mantto'];

}

// now write some text above the imported page
$pdf->SetFont('Helvetica','','10');
$pdf->SetTextColor(25500);
$pdf->SetXY(4568);
$pdf->Write(0$per);

// now write some text above the imported page
$pdf->SetFont('Helvetica','','20');
$pdf->SetTextColor(25500);
$pdf->SetXY(140.545);
$pdf->Write(0$name); 
Gracias por su ayuda.
  #2 (permalink)  
Antiguo 02/05/2015, 12:57
 
Fecha de Ingreso: mayo-2015
Mensajes: 9
Antigüedad: 8 años, 11 meses
Puntos: 1
Respuesta: generacion de PDF con FPDI y MySql

creo que necesitas arreglar 2 cosas.
la 1ª de ellas es incluir los comandos que escriben los datos en el pdf dentro del bucle while, tal que quede asi mas o menos.

Código PHP:
Ver original
  1. while($row=mysqli_fetch_array($sql))
  2.       {
  3.           $name = $row['nombre_usuario'];
  4.           $per = $row['periodo_mantto'];
  5.  
  6.  
  7.           // now write some text above the imported page
  8.          $pdf->SetFont('Helvetica','','10');
  9.          $pdf->SetTextColor(255, 0, 0);
  10.          $pdf->SetXY(45, 68);
  11.          $pdf->Write(0, $per);
  12.  
  13.           // now write some text above the imported page
  14.          $pdf->SetFont('Helvetica','','20');
  15.          $pdf->SetTextColor(255, 0, 0);
  16.          $pdf->SetXY(140.5, 45);
  17.          $pdf->Write(0, $name);  
  18.     }


y 2º incluir algun modo que varie las coordenadas en cada bucle.
  #3 (permalink)  
Antiguo 03/05/2015, 14:45
Gu4diana
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: generacion de PDF con FPDI y MySql

Gracias por responder, colocare la solución por si a futuro a alguien le sirve.

Código PHP:
Ver original
  1. <?php
  2. //creamos la sesion
  3. //validamos si se ha hecho o no el inicio de sesion correctamente, si no se ha hecho la sesion nos regresará a la pagina de Login.php
  4. if(!$_SESSION['Acceso']){
  5.     header("Location: Login.php");
  6.     exit;
  7. }
  8.  
  9. require_once('fpdf/fpdf.php');
  10. require_once('fpdi/fpdi.php');
  11. require('Conexion.php');
  12.  
  13. $peri = $_GET['Per'];
  14.  
  15. $sql = mysqli_query($con,"SELECT * FROM userksmx WHERE (periodo_mantto='".$peri."') AND (status='Cerrado')");
  16.  
  17. // initiate FPDI
  18. $pdf = new FPDI();
  19.  
  20. while($row=mysqli_fetch_array($sql))
  21. {
  22. $name = $row['nombre_usuario'];
  23. $dep = $row['departamento'];
  24. $equipo = $row['equipo'];
  25. $mod = $row['modelo'];
  26. $sm = $row['sub_modelo'];
  27. $ns = $row['numero_serie'];
  28. $tr = $row['trabajo_hecho'];
  29. $com = $row['comentario'];
  30. $cal = $row['calificacion'];
  31.  
  32. // add a page
  33. $pdf->AddPage();
  34.  
  35. // set the source file
  36. $pdf->setSourceFile('F01-21SS01.pdf');
  37.  
  38. // import page 1
  39. $tplIdx = $pdf->importPage(1);
  40.  
  41. // use the imported page and place it at point 10,10 with a width of 100 mm
  42. $pdf->useTemplate($tplIdx, 0, 0, 0, 0, true);
  43.  
  44. //Font color
  45. $pdf->SetTextColor(255, 0, 0);
  46.  
  47. // now write some text above the imported page
  48. $pdf->SetFont('Helvetica','','16');
  49. $pdf->SetXY(85.5, 45);
  50. $pdf->Write(0, 'X');
  51.  
  52. $pdf->SetFont('Helvetica','','10');
  53. $pdf->SetXY(45, 58);
  54. $pdf->Write(0, $name);
  55.  
  56. $pdf->SetFont('Helvetica','','10');
  57. $pdf->SetXY(55, 63);
  58. $pdf->Write(0, $dep);
  59.  
  60. $pdf->SetFont('Helvetica','','10');
  61. $pdf->SetXY(45, 68);
  62. $pdf->Write(0, $peri);
  63.  
  64. switch ($equipo){
  65.     case 'Laptop';
  66.     $pdf->SetFont('Helvetica','','16');
  67.     $pdf->SetXY(45.5, 95.5);
  68.     $pdf->Write(0, 'X');
  69.     break;
  70.    
  71.     case 'Desktop';
  72.     $pdf->SetFont('Helvetica','','16');
  73.     $pdf->SetXY(75.5, 95.5);
  74.     $pdf->Write(0, 'X');
  75.     break;
  76.    
  77.     case 'Workstation';
  78.     $pdf->SetFont('Helvetica','','16');
  79.     $pdf->SetXY(110.5, 95.5);
  80.     $pdf->Write(0, 'X');
  81.     break;
  82.    
  83.     case 'MDF/IDF';
  84.     $pdf->SetFont('Helvetica','','16');
  85.     $pdf->SetXY(145.5, 95.5);
  86.     $pdf->Write(0, 'X');
  87.     break;
  88. }
  89.  
  90. $pdf->SetFont('Helvetica','','10');
  91. $pdf->SetXY(60, 106);
  92. $pdf->Write(0, $mod);
  93.  
  94. $pdf->SetFont('Helvetica','','10');
  95. $pdf->SetXY(135, 106);
  96. $pdf->Write(0, $sm);
  97.  
  98. $pdf->SetFont('Helvetica','','10');
  99. $pdf->SetXY(90, 111);
  100. $pdf->Write(0, $ns);
  101.  
  102. /*$pdf->SetFont('Helvetica','','10');
  103. $pdf->SetXY(45, 88);
  104. $pdf->Write(0, $tr);*/
  105.  
  106. $pdf->SetFont('Helvetica','','7');
  107. $pdf->SetXY(30, 186);
  108. $texto = substr($com, 0, 135);
  109. $pdf->Write(0, $texto);
  110.  
  111. $pdf->SetFont('Helvetica','','7');
  112. $pdf->SetXY(30, 193);
  113. $texto = substr($com, 135, 268);
  114. $pdf->Write(0, $texto);
  115.  
  116. switch ($cal){
  117. case 'Muy Satisfecho';
  118. $pdf->SetFont('Helvetica','','20');
  119. $pdf->SetXY(32.5, 208);
  120. $pdf->Write(0, 'X');
  121. break;
  122.  
  123. case 'Satisfecho';
  124. $pdf->SetFont('Helvetica','','20');
  125. $pdf->SetXY(70.5, 208);
  126. $pdf->Write(0, 'X');
  127. break;
  128.  
  129. case 'Neutral';
  130. $pdf->SetFont('Helvetica','','20');
  131. $pdf->SetXY(102, 208);
  132. $pdf->Write(0, 'X');
  133. break;
  134.  
  135. case 'Insatisfecho';
  136. $pdf->SetFont('Helvetica','','20');
  137. $pdf->SetXY(127, 208);
  138. $pdf->Write(0, 'X');
  139. break;
  140.  
  141. case 'Muy Mal';
  142. $pdf->SetFont('Helvetica','','20');
  143. $pdf->SetXY(158.5, 208);
  144. $pdf->Write(0, 'X');
  145. break;
  146. }
  147.  
  148. $pdf->SetFont('Helvetica','','13');
  149. $pdf->SetXY(30, 236);
  150. $pdf->Write(0, $name);
  151.  
  152. $pdf->SetFont('Helvetica','','13');
  153. $pdf->SetXY(140, 236);
  154. $pdf->Write(0, 'Marco Guadiana');
  155. }
  156.  
  157. $pdf->Output();
  158.  
  159. ?>
  160. <?
  161. ?>

Etiquetas: fpdf, 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




La zona horaria es GMT -6. Ahora son las 07:54.