En este artículo, aprenderemos a crear una tabla en un archivo PDF a partir de un archivo de texto externo con PHP usando FPDF. Es una clase de PHP gratuita que contiene muchas funciones para crear y modificar archivos PDF. La clase FPDF incluye muchas características como formatos de página, encabezados de página, pies de página, salto de página automático, salto de línea, compatibilidad con imágenes, colores, enlaces y mucho más.
Enfoque: debe descargar la clase FPDF del sitio web de FPDF e incluirla en su script PHP.
require('fpdf/fpdf.php');
Cree una instancia y use la clase FPDF según sus necesidades, como se muestra en los siguientes ejemplos.
$pdf=new FPDF();
Ejemplo: El siguiente ejemplo genera una tabla en un archivo PDF a partir de un archivo de texto externo “employees.txt” que tiene datos de empleados. El archivo se puede descargar o previsualizar según sea necesario. Consulte los comentarios en el código para una mejor comprensión y personalización según las necesidades de la aplicación.
PHP
<?php require('fpdf/fpdf.php'); class PDF extends FPDF { // Get data from the text file function getDataFrmFile($file) { // Read file lines $lines = file($file); // Get a array for returning output data $data = array(); // Read each line and separate the semicolons foreach($lines as $line) $data[] = explode(';', chop($line)); return $data; } // Simple table function getSimpleTable($header, $data) { // Header foreach($header as $column) $this->Cell(40, 7, $column, 1); $this->Ln(); // Set current position // Data foreach($data as $row) { foreach($row as $col) $this->Cell(40, 6, $col, 1); $this->Ln(); // Set current position } } // Get styled table function getStyledTable($header, $data) { // Colors, line width and bold font $this->SetFillColor(255, 0, 0); $this->SetTextColor(255); $this->SetDrawColor(128, 0, 0); $this->SetLineWidth(.3); $this->SetFont('', 'B'); // Header $colWidth = array(40, 35, 40, 45); for($i = 0; $i < count($header); $i++) $this->Cell($colWidth[$i], 7, $header[$i], 1, 0, 'C', 1); $this->Ln(); // Setting text color and color fill // for the background $this->SetFillColor(224, 235, 255); $this->SetTextColor(0); $this->SetFont(''); // Data $fill = 0; foreach($data as $row) { // Prints a cell, first 2 columns are left aligned $this->Cell($colWidth[0], 6, $row[0], 'LR', 0, 'L', $fill); $this->Cell($colWidth[1], 6, $row[1], 'LR', 0, 'L', $fill); // Prints a cell,last 2 columns are right aligned $this->Cell($colWidth[2], 6, number_format($row[2]), 'LR', 0, 'R', $fill); $this->Cell($colWidth[3], 6, number_format($row[3]), 'LR', 0, 'R', $fill); $this->Ln(); $fill=!$fill; } $this->Cell(array_sum($colWidth), 0, '', 'T'); } } // Instantiate a PDF object $pdf = new PDF(); // Column titles given by the programmer $header = array('Name','City','Age','Salary(In thousands)'); // Get data from the text files $data = $pdf->getDataFrmFile('employees.txt'); // Set the font as required $pdf->SetFont('Arial', '', 14); // Add a new page $pdf->AddPage(); $pdf->getSimpleTable($header,$data); $pdf->AddPage(); $pdf->getStyledTable($header,$data); $pdf->Output(); ?>
empleados.txt: El siguiente es el contenido del archivo «employees.txt» que se utiliza en el archivo HTML anterior.
Aman;Varanasi;33;80750 Beena;Bombay;30;10100 Derek;Culcutta;43;52950 Fanny;Hubli;30;51000 Tom;Pondicherry;23;58000 Gleny;Bombay;32;82000 George;Atlanta;32;10500 Ishita;Dubai;34;36940 Iman;Rome;30;57560 Lily;Ranikhet;25;42400 Nihita;Agra;41;15600 Polima;Jaipur;45;99500 Seela;Madras;50;39300 Swati;Spain;41;88390 Janu;London;24;58860
Producción:
Publicación traducida automáticamente
Artículo escrito por geetanjali16 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA