REPORTE EN PDF CON LIBRERIA FPDF CRUD FOTOS CON PHP Y MYSQL
<?php
require_once('conexion.php');
require('fpdf/fpdf.php');
// Crear la clase PDF extendiendo la clase FPDF
class PDF extends FPDF {
// Encabezado del informe
function Header() {
// Logo o título del informe
$this->SetFont('Arial', 'B', 20);
$this->Cell(40);
$this->Cell(30, 10, 'Reporte PDF de Personas', 0, 0, 'C');
$this->Ln(20);
// Encabezados de las columnas de la tabla
$this->SetFont('Arial', 'B', 14);
$this->Cell(40, 10, 'Nombre', 1, 0, 'C');
$this->Cell(40, 10, 'DNI', 1, 0, 'C');
$this->Cell(40, 10, 'Foto Perfil', 1, 0, 'C');
$this->Ln();
}
// Pie de página del informe
function Footer() {
// Número de página
$this->SetY(-15);
$this->SetFont('Arial', 'I', 8);
$this->Cell(0, 10, 'Pag. '.$this->PageNo().'/{nb}', 0, 0, 'C');
}
// Generar el contenido del informe
function GenerateReport($conn) {
$this->SetFont('Courier', 'B', 14);
// Consulta a la base de datos para obtener los registros de la tabla "personas"
$query = "SELECT nombre, dni, foto FROM personas ORDER BY id DESC";
$result = mysqli_query($conn, $query);
// Recorrer los registros y agregarlos al informe
while ($row = mysqli_fetch_assoc($result)) {
$this->Cell(40, 20, $row['nombre'], 1, 0, 'L');
$this->Cell(40, 20, $row['dni'], 1, 0, 'C');
// Insertar la foto en el informe
$foto = 'personas/'.$row['foto'];
$this->Cell(40, 20, '', 1, 0, 'C');
$this->Image($foto,95, $this->GetY() + 1, 15, 0);
$this->Ln();
}
}
}
// Crear una instancia del informe
$pdf = new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
// Pasar la conexión a la base de datos y generar el contenido del informe
$pdf->GenerateReport($conn);
// Salida del PDF
$pdf->Output();
?>
Comentarios
Publicar un comentario