Desarrollo de sitios web con PHP y MySQL

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