Librería pdf417gen - tpII/2020-pc-6-combiot GitHub Wiki
La librería pdf417gen permite codificar información (strings) y generar códigos pdf417 en formato de imagen.
A continuación se explica brevemente su instalación y forma de uso.
Instalación
La librería se instala a través del siguiente comando:
pip install pdf417gen
Este comando instala tanto la librería pdf417gen como sus dependencias (Pillow y future).
Generación del código de barras
La creación de códigos de barras se realiza en dos pasos:
-
Codificación una cadena en una lista de palabras de código usando encode()
Esta función recibe la información a codificar, y dos parámetros opcionales:
- columns: indica cantidad de columnas. Permite personalizar el tamaño del código de barras, toma valores entre 1 y 30. El valor por defecto es 6.
- security_level: nivel de seguridad. Puede variar de 0 a 8 y procesa 2^(level+1) palabras de código de corrección de errores. El nivel de seguridad predeterminado es 2.
-
Renderización del código de barras usando una de las funciones de renderizado: render_image()
Esta función recibe la información ya codificada por la función anterior y genera una imagen para el código pdf417. Cuenta con varios parametros opcionales:
- scale: ancho del módulo, en píxeles (predeterminado: 3)
- ratio: relación entre la altura y el ancho del módulo (predeterminado: 3)
- padding: relleno de imagen, en píxeles (predeterminado: 20)
- fg_color: color de primer plano (por defecto: #000000)
- bg_color: color de fondo (por defecto: #FFFFFF)
Prueba realizada
A continuacion se muestra el codigo de la prueba realizada para la generacion de codigos pdf417.
from pdf417gen import encode, render_image
# Información a codificar
data = {}
data['name'] = 'Cliente'
data['date'] = '12/10/2020'
data['valid'] = True
# Codificación de información
codes = encode(str(data), security_level=7)
# Generación del codigo de barras como imagen
image = render_image(codes) # Pillow Image object
image.save('./media/barcode.jpg')
Esto código genera una imagen con el nombre "barcode" en la carpeta "media" del proyecto.
La imagen generada puede verse en el siguiente link: Código de barras
Luego esta imagen la decodificamos con un decodificador online (https://zxing.org/w/decode.jspx) y obtuvimos la data original.
Imagen del decodificador: Interfaz del decodificador
Respuesta al decodificar nuestra imagen: Resultado