Generar
documentos
Desarrollo
Web con PHP
Ignacio Andrés González
Desarrollo
Web con PHP
Generar documentos
Cada vez es más frecuente realizar aplicaciones web donde es necesario generar
documentos con la información disponible o incluso, realizar PDFs al vuelo.
Generar PDF Existen diversas librerías para esta funcionalidad.
FPDF (Free PDF) permite generar documentos PDF directamente desde PHP. Se
basa en un amplio conjunto de funciones para confeccionar a medida el
documento.
HTML2PDF es una de las más extendidas, gratuita y sobre todo fácil de usar.
Ha sido diseñado principalmente para manejar TABLAS anidadas y todavía no
soporta todas las etiquetas HTML o sus atributos, aunque sí definiciones de
estilos.
Se trata de un conversor de HTML a PDF escrito en PHP4 (utilizando FPDF).
Permite la conversión de HTML 4.01 o superior válido en formato PDF al vuelo.
El código html tiene que estar bien construido; es decir, etiquetas bien
cerradas, tablas correctamente anidads, etc.
Además de convertir html, puede crear Codigo de barras y QRCodes de forma
muy sencilla.
Desarrollo
Web con PHP
Generar documentos
Ejemplo de uso con HTML2PDF:
Este código incluye un fichero (Ej_sencillo.php) y el html generado es
convertido a pdf y devuelto al navegador
// get the HTML
ob_start();
// Iniciar búffering
include(dirname(__FILE__).'/res/exemple00.php'); // Crea HTML desde fichero externo
$content = ob_get_clean();
// Obtiene contenido del buffer y lo limpia
// convert in PDF
require_once(dirname(__FILE__).'/../html2pdf.class.php'); // Carga librería
try {
$html2pdf = new HTML2PDF('P', 'A4', 'fr');
// Genera documento pdf
$html2pdf->pdf->SetDisplayMode('fullpage');
// Pantalla completa
$html2pdf->setDefaultFont('Arial');
$html2pdf->writeHTML($content, isset($_GET['vuehtml']));
$html2pdf->Output('exemple00.pdf'); }
// Envía a salida con nombre
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
// Captura errores y les muestra
Desarrollo
Web con PHP
Generar documentos
Ejemplo de uso con HTML2PDF: Colección de ejemplos variados:
Ejemplo importando un fichero html
Importación de dos documentos
Con ejecución de JavaScript
Utilizando BookMark
Generar código de barras
Generar QRCodes
Ejemplo de creación de un ticket
Creación y aceptación de formularios
Ej_sencillo.php
Ej_2documentos.php
Ej_javascript.php
Ej_bookmark.php
Ej_codigobarras.php
Ej_qrcodes.php
Ej_ticket.php
Ej_forms.php
Ejercicio: Crear un documento pdf a partir del código tabla_mysql.php
que genera una tabla en html
(Se facilita Generar_Documentos/tabla_mysql_pdf_original.php que genera el
código correcto)
(tabla_mysql_pdf.php)
Desarrollo
Web con PHP
Generar documentos
Exportación a documentos de Office:
La exportación a documentos de office se gestiona de forma casi nativa
ya que únicamente debemos generar los documentos mediante un
header y php hace la conversión al vuelo.
Generar documento Word:
header("Content-type: application/vnd.ms-word");
header("Content-Disposition: attachment; filename=prueba.doc");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
Generar documento Excel:
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=prueba.xls");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
Modificar tabla_mysql_pdf_original.php para poder indicar en la
url el formato deseado y generar el documento:
…/tabla_mysql_office.php?doc=DOC | XLS | PDF
© Copyright 2025