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:

  1. 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.
  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