Hosting Joomla, formación, soporte técnico Joomla, diseño web Joomla

Acceso Panel de Control Clientes y Compra de Productos

Cómo crear informes en PDF con Joomla y Breezingforms
Joomla Blog - Formacion Joomla
Miércoles, 05 de Mayo de 2010 09:59

PDF con breezingformsBreezing forms es una extensión bastante conocida en el mundo de Joomla. Te permite crear formularios de una forma bastante rápida, y además también permite empaquetarlos en ficheros XML y transportarlos de un sitio web a otro, entre muchas otras características. Más adelante escribiré más en detalle sobre Breezing forms.

Breezingforms permite enviar un formulario automáticamente a una dirección de correo electrónico, y también se guarda un registro con los campos de cada formulario enviado en la base de datos. Esto está muy bien y ahorra mucho trabajo a los usuarios de Joomla.

Aún así, mucha gente pide informes en PDF de sus formularios, y nos encontramos con que Breezingforms no tiene esta opción. Vamos a ver de una manera fácil como crear informes PDF automatizados para nuestros formularios, y lo bueno de este método es que nos va a servir para cualquier formulario que creemos.

Lo primero que tenemos que hacer es crear nuestro formulario, cualquier formulario, simplemente créalo y añade todos los campos que necesites. Yo voy a usar el formulario estándar de contacto que usamos en Webempresa.

Una vez tengamos el formulario creado, pinchamos sobre editar formulario y nos vamos a la pestaña Enviar Piezas, y en el inicio del Submit añadimos la siguiente línea de código:

$this->execPieceByName('genera_pdf');

Configuración de breezing forms

Esta línea provocará que se ejecute la pieza con nombre 'genera_pdf' que vamos a crear a continuación.

Ahora vamos a Administrador de piezas y creamos una nueva pieza con el nombre 'genera_pdf'. Da igual el nombre del paquete, en este caso, yo he creado un paquete llamado 'utils'. En esta pieza vamos a hacer uso de la librería de generación de pdf para PHP FPDF, deberéis de descargarla de su página web oficia.

En este ejemplo he usado la versión 1.6. Para que todo quede ordenado, he instalado la librería en el directorio 'libraries' de Breezingforms, que se encuentra en la siguiente ruta: 'administrator/components/com_facileforms/libraries’. En este directorio he creado el directorio fpdf y dentro he extraido el contenido del zip de la librería fpdf.

Una vez hecho esto ya podemos empezar a crear código, vamos a ver el código de nuestra pieza 'genera_pdf':


require_once(JPATH_ADMINISTRATOR.DS.'components/com_facileforms/libraries/fpdf/fpdf.php');

$pdf=new FPDF();

$pdf->AddPage();
$pdf->SetFont('Arial','',8);
$pdf->SetTextColor(0, 0, 0);

// create the message
$pdf->Write(4,utf8_decode( "Informe : " . $this->formrow->title.nl().nl()));
$pdf->Ln();
$pdf->Write(4,utf8_decode("Fecha de envío: " . $this->submitted.nl().nl()));
$pdf->Ln();
if (count($this->maildata)) {
	foreach ($this->maildata as $data) {
			$pdf->SetFont('Arial','B',8);
			$pdf->Write(4,utf8_decode($data[_FF_DATA_TITLE] . ": "));
			$pdf->SetFont('Arial','',8);
			$pdf->Write(4,utf8_decode($data[_FF_DATA_VALUE].nl()));
			$pdf->Ln();
	}
	
}


//Close and output PDF document
$pdf->Output(JPATH_ADMINISTRATOR.DS.'components/com_facileforms/images/informe'.date('d-m-Y_H-i-s').'.pdf');


Vamos a echar un vistazo al código.

Primero enlazamos la librería FPDF que previamente hemos subido al servidor. Acto seguido creamos un objeto de tipo FPDF y le 'seteamos' las propiedades de nuestro documento. Vamos escribiendo el título del formulario, la fecha de envío y después iteramos sobre el array de datos del formulario y pintamos todos los datos en el pdf.

Usamos la función utf8_decode para que se impriman correctamente los caracteres como los acentos o la ñ, si no se usara esta función saldrían símbolos extraños. Con esto ya estaría todo listo para realizar informes en PDF de cualquier formulario, de una forma muy rápida y fácil, como casi todo en Joomla ;) . El resultado es este: PDF generado.

Este es un ejemplo muy sencillo, lo puedes adornar muchísimo y crear algo con un aspecto mucho más profesional, mira en la web de FPDF los métodos de que dispones para crear tus propios informes profesionales en PDF.

Puedes encontrar más información sobre Breezingforms en este hilo de nuestro recién estrenado foro.

Share
Trackback(0)
Comentarios (1)add comment

Juan dice:

0
Ver pdf al enviar formulario
Hola buenas.
Me parece estupendo en articulo y muy útil.
Como podría hacer para que al darle al botón de enviar el formulario se habra directamente en una ventana el pdf generado.
He conseguido generar los pdf y me los guarda correctamente en la carpeta exports pero me gustaría que automaticamente al enviar el form lo guarde pero también lo muestre directamente esto es posible???

Gracias por vuestra ayuda
 
junio 10, 2010 | url
Votos: +1

Escribir comentario

busy
 

¡Suscríbete a nuestro Boletín!


noticias Joomla
Información actualizada sobre Joomla y Webempresa
Code:

Nuestro Equipo :

GerardGerard Martinez
Director
Comercial
MaiteMaite Mercader
Responsable
Joomlafácil
PabloPablo Velasco
Analista
Programador
DavidDavid Noguera
Analista
Programador
LucasLucas Guardino
Analista
Programador
NuriaNuria Durán
Diseñadora Web - Creativa
JorgeJorge Sala
Diseñador Web - Formador
YolandaYolanda Leiva
Servicio
Técnico

Ejemplo Tienda Virtual

Último Joomla Realizado

Noticia Destacada

Como insertar el mapa de Google Maps en Joomla!

En el vídeo que mostramos en este artículo explicamos como dar de alta un negocio en Google Maps y luego insertar el mapa en Joomla!. La realización de ambos pasos es importante para sitios webs que son un negocio o similares, ya que cumplen un doble objetivo:

- Alta en Google Maps, con lo que conseguimos un enlace al sitio web creado y nos ayudará a nivel de resultados en los buscadores.

- Inserción del mapa en el sitio web, dotamos al mismo de la interactividad propia que nos ofrece la herramienta de Google Maps y permite de una manera rápida tener un mapa interactivo, y no usar mapas que son una simple imagen o realizados en flash que no permiten una fácil modificación por el administrador de la página a menos que domine las herramientas de Retoque Fotográfico o de creación de archivos Flash.

Leer más...

Participación en Joomla.org

joomla developer gold

Búsqueda Google en Webempresa

Servicios que ofrecemos para Joomla :
Hosting JoomlaHosting Joomla :
Servidores
100% preparados
para Joomla
Soporte JoomlaSoporte :
Técnicos cualificados en Joomla a tu servicio.
Formación JoomlaCursos online:
Formación Joomla personalizada
Consúltanos
Desarrollo JoomlaDiseño Web:
Servicio Profesional de Diseño Web Joomla
¿Información comercial?