EJEMPLO DE UN CUADRO COMPARATIVO

         Para crear la Aplicación CotiPro (http://cotipro.tecnovalidaciones.com) es necesario programar un Cuadro Comparativo de Cotizaciones. Entonces necesitaremos implantar Tablas dentro del PDF. Este va a ser un buen ejemplo para mejorar su destreza en fPDF.

         Normalmente los PDFs que programo en una aplicación en línea constan de las siguientes secciones:

  1. Librerías
  2. Validación de Usuario (Seguridad)
  3. Obtensión de la Información de la Base de Datos
  4. Encabezado y Pie de Página
  5. Definición del Formato del Documento PDF (margenes, título, etc)
  6. Creación del Documento
  7. Salida del PDF
  8. Cierre de la Base de Datos y del Link

      Para este ejemplo únicamente nos enfocaremos del punto 4 al punto 7. Lo primero que vamos a programar es la Sección 5, y después nos regresaremos a completar la sección 4, que va antes de la 5.

SECCIÓN 5. FORMATO DEL DOCUMENTO


     TAMAÑO DE LA HOJA
Lo primero que vamos a hacer es definir la orientación de la Página. Para ello hay que usar el contructor:

new PDF();
 
 Y vamos a ponerlo de la siguiente forma:

$pdf = new PDF('L','mm','Letter');
  • El primer parámetro 'L' significa la orientación de la página, que en este caso es Landscape (acostada).
  • El segundo parámetro define las unidades de mendida, que en este caso particular son Milímetros.
  • El tercer parámetro define el tamaño de la página, que en este caso particular es Carta.

      TÍTULO DEL DOCUMENTO
Lo segundo es definir el título del documento, y lo definimos con la instrucción:

$pdf->SetTitle('Cuadro Comparativo');


     IDENTIFICADOR PARA EL NÚMERO TOTAL DE PÁGINAS
La tercera instrucción es Definir un Identificador para el Número Total de Páginas. Esto sirve para cuando configuremos la Cabecera o  Pie de Página podamos llamar a este valor. Para definir el identificador usaremos la instrucción:

$pdf->AliasNbPages();

Esta instrucción no lleva parámetros por que vamos a usar lo estándar, que son los cuatro caraceres {nb} y esto le servirá fPDF para saber donde queremos que ponga el Número Total de Páginas.


     MARGEN SUPERIOR
Enseguida debemos definir el margen superior para que no se empalme el encabezado con el texto del documento. Para ello utilizamos la siguiente instrucción:

$pdf->SetTopMargin(30);

El valor de 30  es la distancia en milímetros entre la orilla de la página y donde termina el encabezado de la página.

     AÑADIMOS LA PRIMERA PÁGINA
Para terminar esta sección añadimos la instrucción:

$pdf->AddPage();

Entonces el código completo de esta sección quedará como:

//-------- FORMATO DEL DOCUMENTO -----------------------------
$pdf = new PDF('L','mm','Letter');
$pdf->SetTitle('Cuadro Comparativo');
$pdf->AliasNbPages();
$pdf->SetTopMargin(30);
$pdf->AddPage();
                   



SECCIÓN 4. ENCABEZADO Y PIE DE PÁGINA.

Esta sección debe ir antes de la seción anterior. Aquí vamos a definir el Encabezado y el Pie de Página.


//---------------- ENCABEZADO Y PIE DE PAGINA ------------------
class PDF extends FPDF
  {
     // Cabecera de página
     function Header()
         {
           $this->Image('LogoReporte.png', 10, 10, 100, 28);
           $this->SetFont('Arial','B',15);
           $this->SetXY(110,20);
           $this->Cell(90,10,utf8_decode('IMPRESIÓN DE REGISTRO'),0,0,'C');
           $this->Ln(25);
         }
                       
      // Pie de página
     function Footer()
         {
           $this->SetY(-15);
           $this->SetFont('Arial','I',8);
           $this->Cell(0,10,utf8_decode('Página ').$this->PageNo().' de {nb}   - - - -   Impreso el ' . FechaActualCompleta() . ' a las ' . date('H:i:s') . ' hora del servidor',0,0,'C');
         }
 }











REFERENCIAS Y BIBLIOGRAFÍA