php

Factura PDF con PHP – Ejemplo completo

Resumen: generar una factura PDF con PHP, es decir, un ticket, recibo, boleta o invoice que tenga detalles de un cliente, del emisor, número de factura, fecha y productos que se venden, así como el total con impuestos y descuento.

Para generar la factura vamos a usar la librería dompdf que convierte HTML a un PDF nativo. Aunque por el momento será estática, puedes usar más tarde una base de datos con PHP.

Creación de factura PDF con PHP

Como lo dije, vamos a usar el lenguaje PHP para generar este comprobante. Comenzamos definiendo algunos datos que irán dentro de nuestra plantilla.

Si te fijas tengo un arreglo de productos así como el descuento aplicado y el impuesto.

See the gist on github.

Obviamente estos datos pueden cambiar o venir de cualquier lugar. Ahora vamos a maquetar la factura.

Diseñando la factura

Voy a utilizar Bootstrap 3 para diseñar la factura PDF; aunque ya existe la versión 4, probé con la misma y algunas cosas de la alineación fallaban, así que usaremos la 3, cosa que no afecta en absoluto, pues no estamos usando el estilo para la web, sino para el PDF.

Comenzamos con el encabezado, en el mismo incluimos la hoja de estilos de Bootstrap.

See the gist on github.

Ahora definimos el inicio de la factura en donde estará un logotipo, la fecha y el número de factura:

See the gist on github.

En la línea 6 tenemos la imagen o logotipo. Después agregamos el cliente con el remitente:

See the gist on github.

Más tarde, agregamos la lista de productos. Creamos la tabla y dibujamos la descripción, cantidad y total. Al final de la tabla colocamos la suma de algunas cosas y desglosamos los datos:

See the gist on github.

La tabla es dibujada de manera dinámica, así que si se aumentan los productos, la tabla se refrescará automáticamente.

Para terminar, agregamos un pie:

See the gist on github.

Nuestro diseño HTML está listo, es un HTML generado dinámicamente. Ahora vamos a generar una factura PDF con PHP a través de la salida de esto.

Probando factura

Si visitamos la página y la renderizamos como un HTML simple, vemos esto:

Diseño de factura PDF con PHP

Recuerda que el código completo es el siguiente:

See the gist on github.

Lo que resta es convertirlo a PDF.

Creando factura PDF con PHP

Finalmente usamos el truco que mostré en el post de dompdf con PHP y obtenemos la salida del documento. Hacemos lo siguiente:

See the gist on github.

Al visitar la página se muestra un documento PDF que se ve así:

Factura PDF con PHP – Documento PDF

PD: ya sé que decir documento PDF es redundante pues PDF es Portable Document Format, pero me gusta llamarlo así 🙂

Conclusión

Con esto podemos generar facturas dinámicas, enviar el documento por correo, guardarlo en el disco duro, descargarlo, etcétera.

Recuerda que ya expliqué el uso de dompdf, si no entiendes bien lo expuesto aquí, te recomiendo encarecidamente que lo leas.

Te dejo un enlace para aprender más sobre PHP. Por cierto, si quieres puedes ver el documento PDF generado.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • buenos dias, hevisto lo de pdf
    necesito producir un tiquete pos desde una tabla mysql donde sera llamada con php, espero su amable respuesta
    ademas necesito un soporte en php nativo
    muy amable, gracias

  • Saludos, es la primera vez que veo tu blog y me parece muy bueno. Solo una duda, yo nunca he usado Bootrap así que no se dónde puedo encontrar el CSS para probar el ejemplo. Tienes la url completa de la hoja de estilos? Gracias.

  • Hola, estoy probando su Script, y funciona perfectamente, salvo '', que no consigo encontrarlo...
    hableme tambien de sus tarifas para posible colaboración..
    Gracias por todo...

  • Gracias por el aporte , lo pude adaptar a mi proyecto DJANGO , se me hacia dificir el diseno de la factura me salvo la vida.

  • Excelente aporte amigo, muchas gracias, hasta en foros en ingles dice que Dompdf no acepta bootstrap, pero es B4 que no es soportado. Agradecido!!

    • Gracias por el dato, la verdad es que no sabía, y al probar con BS3 funcionó así que así lo dejé.
      Le invito a seguirme y compartir para estar al tanto de mis aportes :)

Entradas recientes

Imprimir HTML con impresora térmica

En este post te enseñaré a imprimir HTML en una impresora térmica. Vas a ser…

2 días hace

Monitorear cola de impresión en Windows

En este artículo te voy a enseñar a monitorear la cola de impresión de una…

4 días hace

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

1 semana hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

1 semana hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

1 semana hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

1 semana hace

Esta web usa cookies.