Generación de PDF en PHP: revisión de bibliotecas y herramientas
La creación de documentos PDF es una de las tareas frecuentes en el desarrollo web. PHP ofrece varias bibliotecas maduras que permiten generar PDF a partir de HTML, datos dinámicos o directamente mediante dibujo. En este artículo revisaremos cuatro bibliotecas principales: TCPDF, FPDF, Dompdf y mPDF, sus características, ejemplos de uso y recomendaciones para elegir en un sitio educativo.
1. TCPDF — el estándar industrial
TCPDF es una de las bibliotecas más potentes para generar PDF en PHP. Soporta Unicode, fuentes TrueType, OpenType, protección con contraseña, marcas de agua, códigos QR y mucho más. Es ideal para crear informes complejos, facturas, certificados.
Instalación: mediante Composer: composer require tecnickcom/tcpdf
Ejemplo de creación de un PDF simple:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetCreator('PythonLib.ru');$pdf->SetAuthor('Autor');$pdf->SetTitle('Ejemplo TCPDF');$pdf->SetSubject('Generación de PDF');
$pdf->AddPage();$pdf->SetFont('dejavusans', '', 14);$pdf->Cell(0, 10, '¡Hola, mundo! Este es un PDF desde TCPDF.', 0, 1);
$pdf->Output('example_tcpdf.pdf', 'I');?>2. FPDF — ligera y rápida
FPDF es una biblioteca clásica para documentos PDF simples. No requiere la instalación de extensiones adicionales y es muy fácil de aprender. Es adecuada para crear tablas, informes simples, facturas.
Instalación: descargar desde fpdf.org o mediante Composer: composer require setasign/fpdf
Ejemplo con tabla:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
$pdf = new FPDF();$pdf->AddPage();$pdf->SetFont('Arial', 'B', 12);
// Encabezados de tabla$pdf->Cell(40, 10, 'Nombre', 1);$pdf->Cell(40, 10, 'Apellido', 1);$pdf->Cell(40, 10, 'Edad', 1);$pdf->Ln();
$pdf->SetFont('Arial', '', 10);$pdf->Cell(40, 10, 'Iván', 1);$pdf->Cell(40, 10, 'Petrov', 1);$pdf->Cell(40, 10, '25', 1);
$pdf->Output('example_fpdf.pdf', 'I');?>3. Dompdf — de HTML a PDF
Dompdf permite convertir HTML+CSS a PDF. Esto es útil si ya tienes el maquetado de páginas (por ejemplo, una factura o un artículo). Soporta CSS 2.1 y parcialmente CSS 3, fuentes, imágenes.
Instalación: composer require dompdf/dompdf
Ejemplo de conversión de HTML:
<?phprequire_once __DIR__ . '/vendor/autoload.php';
use Dompdf\\Dompdf;
$dompdf = new Dompdf();$html = '<h1 style="color: #3498db;">Título del PDF</h1><p>Este documento fue creado desde HTML con Dompdf.</p><table border="1" cellpadding="5"> <tr><th>Columna 1</th><th>Columna 2</th></tr> <tr><td>Dato 1</td><td>Dato 2</td></tr></table>';
$dompdf->loadHtml($html);$dompdf->setPaper('A4', 'portrait');$dompdf->render();$dompdf->stream('example_dompdf.pdf', ['Attachment' => 0]);?>4. mPDF — potente convertidor de HTML
mPDF es otra biblioteca para convertir HTML a PDF. Soporta mejor que Dompdf CSS, Unicode, fuentes orientales, creación de tabla de contenido, encabezados y pies de página. Es excelente para libros, revistas, documentos complejos.
Instalación: composer require mpdf/mpdf
Ejemplo con encabezados y pies de página:
<? También en la biblioteca
Bibliotecas GraphQL TypeScript: Guía completa para elegir y usar
Trabajo con Kafka en C# (.NET): biblioteca Confluent.Kafka
Generador de códigos QR en Rust: creación e integración en aplicaciones web
CocoaPods para Swift: guía completa con ejemplos