Imprimir etiquetas APLI en PDF desde PHP

 

Imprir etiquetas APLI en PHP
Imprimir etiquetas APLI, calcula márgenes, enlaza con plantillas word, Deja unas etiquetas sin imprimir para aprovechar las anteriores, ahora me cambian de impresora, ahora me cambian de formato de etiquetas, ahora las hojas están en blanco y tengo que ser yo quien dibuje los bordes para recortar las etiquetas, ... ¿Como enlazo con la base de datos para hacerlo fácil al cliente?,.... 
Problemas, problemas y más problemas ¿Cuantos dolores de cabeza os deben de haber causado a la hora de imprimir etiquetas APLI al largo de los años?

Yo lo he sufrido y he decidido crear finalmente una clase en PHP standard para poder solucionar este problema definitivamente.... al menos con servidores web.

Al crear la clase hay que tener en cuenta que hay que utilizar medidas en cm y no en píxeles, ya que esto es lo que hace que muchos de los trabajos que he visto realizados, funcionen en unos sistemas y en otros no. Al hacerlo en medidas de documentos (centímetros en este caso), funcionará para cualquier sistema operativo, para cualquier impresora y para cualquier entorno. Se acabaron los problemas de 'descuadres' de etiquetas.

En principio, y por la posición en el sector de las etiquetas aquí, APLI es el fabricante universal para nosotros, por lo que, aunque se base esta entrada para APLI, la librería está preparada para utilizarla con cualquier otro tipo de etiquetas de otros fabricantes.

El contenido de cada etiqueta se le da en formato HTML, por lo que podemos utilizar los standards HTML para usar texto en negrita, subrayado, cursiva, etc..... También podemos utilizar el tamaño y/o tipo de letra que tengamos instalado en el servidor (Times, Sans, Courier, ....)

Como único requisito, hay que saber que es necesario instalar también la librería MPDFhttps://mpdf.github.io/

El uso es muy sencillo. Basta con realizar la inclusión del fichero de la clase, darle los parámetros como tamaño de página, márgenes superior e izquierdo, medidas de las etiquetas, márgenes dentro de ellas y espacio entre ellas. Estos parámetros son comunes en cualquier tipo de etiquetas.

El sistema genera un fichero PDF listo para poder imprimir. Las opciones son:

- Mostrar el PDF de las Etiquetas para imprimir en el navegador.

- Descargar el fichero PDF de las Etiquetas para imprimir en el ordenador.

- Guardar el fichero PDF de las Etiquetas para imprimir en el propio servidor web.


Como extra, la clase permite un par de funciones interesantes:

- Si se requiere, se puede dibujar un borde alrededor de las etiquetas. Esto es útil por ejemplo, cuando tenemos un papel adhesivo en blanco, pero necesitamos una guía para recortar estas etiquetas.

- Se puede empezar a imprimir en cualquier número de fila y columna para así reutilizar el papel anteriormente usado y poder aprovechar las etiquetas restantes.  RECICLEMOS!!!!! ♻. 

Está todo explicado en el repositorio:

https://github.com/vivesweb/printable_labels_pdf

o bien desde https://www.phpclasses.org/package/12173-PHP-Generate-PDF-documents-with-labels-from-HTML-tags.html

He realizado un Benchmark para conocer los tiempos de creación de los ficheros de etiquetas en PDF. De hecho, en cada uno de los documentos se guarda el tiempo de ejecución del script. Podría ser útil.

Para generar el pdf con 2.499 etiquetas con bordes, el sistema ha tardado 18 segundos (unos 0,72 segundos por cada 100 etiquetas), en una máquina virtual ubuntu. En este caso se ha utilizado un pdf de las etiquetas APLI ref. 00014 y el resultado está aquí: https://github.com/vivesweb/printable_labels_pdf/blob/main/pritable_labels_pdf.pdf. Para el caso de una sencilla Raspberry pi B 2, el resultado de crear 999 etiquetas ha sido de 2 minutos y 28 segundos (unos 14,81 segundos por cada 100 etiquetas) 😅💪.

Se podría mejorar la librería, preparando los datos predeterminados para diferentes referencias de etiquetas de diferentes fabricantes, pero aún estoy esperando respuesta de la fábrica APLI para que me faciliten un poco el trabajo, que no lo haré todo yo, no? 😉.

Comentarios

Artículos más populares

Visualización en tabla para detectar datos incorrectos y limpiar los datasets antes de realizar el Deep Learning (aprendizaje profundo) en PHP

Probando DALL-E MINI

Biofarma en Arsys. Ejemplo de rendimiento, seguridad y reputación