![Crear formulario de correo con PHP](https://cdn.openwebinars.net/media/featured_images/Programacion-web---8-formulario.jpg)
Crear formulario de correo con PHP
Aprende a crear un formulario de correo paso a paso con esta guía y videotutorial.
![](https://cdn.openwebinars.net/static/img/user80.jpeg)
Aprende con este videotutorial paso a paso a cómo crear PDF a partir de un HTML con PHP.
Tabla de contenidos
Generar documentos PDF desde una web es una necesidad muy común para cualquier proyecto. Pero tras lidiar con las dificultades que ya de por si plantea la maquetación HTML y CSS de lo que se quiere exponer en una web, volver a tener que componer los mismos resultados para construir un documento PDF de manera programática se antoja una tarea poco atractiva. ¿No hay alguna manera de plantea esto de forma más sencilla? Afortunadamente si que lo hay.
En primer lugar, no podemos dejar de mencionar la posibilidad de establecer en CSS3 mediante media queries con @media print
una alternativa visual de la página actual para impresión. En ella podemos retirar imágenes y colores sólidos de fondo, elementos de navegación y otros elementos con poca utilidad en el papel, para obtener un resultado bastante decente. Esto es lo que hacen en muchos casos diferentes webs, lanzando esta versión de impresión con el mismo HTML de la página, y forzando por Javascript el diálogo de impresión al usuario. Navegadores como Google Chrome traen incorporada de forma nativa la opción de impresión de generar en su lugar un fichero PDF con el resultado.
Si realmente es imprescindible generar nosotros dicho fichero, podemos continuar desde un planteamiento como el anterior. Ya tenemos una pantalla resultado que mostramos por web al usuario, y le hemos añadido CSS adicional para adaptarla a impresión. Ahora nos gustaría convertir este resultado en un fichero PDF que enviar al usuario.
Para ello, podemos utilizar una librería como DomPDF, disponible como software libre en: https://github.com/dompdf/dompdf .
Es importante descargar una de las versiones release que sea estable: https://github.com/dompdf/dompdf/releases .
Si copiamos la librería en una carpeta dompdf, podemos escribir un sencillo ejemplo con un fichero como este de ejemplo:
<?php
require_once 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
if ( ! isset($_GET['pdf']) ) {
$content = '<html>';
$content .= '<head>';
$content .= '<style>';
$content .= 'body { font-family: DejaVu Sans; }';
$content .= '</style>';
$content .= '</head><body>';
$content .= '<h1>Ejemplo generación PDF</h1>';
$content .= '<a href="index.php?pdf=1">Generar documento PDF</a>';
$content .= '</body></html>';
echo $content;
exit;
}
$content = '<html>';
$content .= '<head>';
$content .= '<style>';
$content .= '</style>';
$content .= '</head><body>';
$content .= '<h1>Ejemplo generación PDF</h1>';
$content .= 'Almacena en una variable todo el contenido que quieras incorporar ';
$content .= 'en el documento <b>formato HTML</b> para generar a partir de éste ';
$content .= 'el documento PDF.<br><br>';
$content .= 'Ejemplo lista<br>';
$content .= '<ul><li>Uno</li><li>Dos</li><li>Tres</li></ul>';
$content .= 'Ejemplo imagen<br><br>';
$content .= '<img src="logo-openwebinars.png" alt="" />';
$content .= '</body></html>';
echo $content; exit;
$dompdf = new Dompdf();
$dompdf->loadHtml($content);
$dompdf->setPaper('A4', 'landscape'); // (Opcional) Configurar papel y orientación
$dompdf->render(); // Generar el PDF desde contenido HTML
$pdf = $dompdf->output(); // Obtener el PDF generado
$dompdf->stream(); // Enviar el PDF generado al navegador
Tenemos que tener en cuenta unas cuantas cosas para utilizar esta librería:
También te puede interesar
Aprende a crear un formulario de correo paso a paso con esta guía y videotutorial.