Skip to main content

Febraban Barcode

Documentation Status Codecov PyPI - Version PyPI - Python Version PyPI - Downloads GitHub License

Implementação em python do layout padrão de arrecadação/recebimento com utilização do código de barras da Febraban.

A arrecadação de tributos/taxas estaduais e municipais e contas de concessionárias de serviços públicos com código de barras segue as especificações técnicas definidas pela Febraban - Federação Brasileira de Bancos, atualmente na versão 7 do layout.

Layout Padrão de Arrecadação/Recebimento com Utilização do Código de Barras - versão 7

Com este pacote é possível:

  • Gerar a numeração do código de barras
  • Gerar a linha digitável com os dígitos verificadores de cada bloco
  • Calcular os dígitos verificadores módulo 10
  • Calcular os dígitos verificadores módulo 11
  • Gerar imagem do código de barras em PNG
  • Gerar imagem do código de barras em SVG
  • Gerar imagem em base64 PNG para uso em HTML
  • Gerar imagem em base64 SVG para uso em HTML

Instalação

pip install febraban_barcode

Utilização

from datetime import date

from tinydb import TinyDB

from febraban_barcode import (
    calcular_dac,
    decode_codigo_de_barras,
    gerar_numeracao_codigo_de_barras,
)
from febraban_barcode.base64 import base64_png, base64_svg, html_base64_img
from febraban_barcode.constants import (
    MODULO10_VALOR_EFETIVO,
    PRODUTO_ARRECADACAO,
    SEGMENTO_TELECOMUNICACOES,
)
from febraban_barcode.functions import calc_dac_modulo10, calc_dac_modulo11
from febraban_barcode.image import image_png, image_svg

if __name__ == '__main__':

    # Gera o código de barras
    codigo_de_barras = gerar_numeracao_codigo_de_barras(
        produto=PRODUTO_ARRECADACAO,
        segmento=SEGMENTO_TELECOMUNICACOES,
        codigo_moeda=MODULO10_VALOR_EFETIVO,
        valor=10.99,
        id_empresa_orgao='1042',
        vencimento=date(2023, 12, 31),
        dados_campo_livre='54321',
    )
    print(codigo_de_barras)

    # Gera linha digitável
    codigo_de_barras_com_dac = calcular_dac(codigo_de_barras)
    print(codigo_de_barras_com_dac)

    # Decodifica o código de barras
    decode_codigo_de_barras(codigo_de_barras)

    # Decodifica o código de barras e grava em um json
    db = TinyDB('db.json')
    db.insert(decode_codigo_de_barras(codigo_de_barras_com_dac, True))

    # Calcula o módulo 10 de 01230067896
    print(calc_dac_modulo10('01230067896'))  # 3

    # Calcula o módulo 11 de 01230067896
    print(calc_dac_modulo11('01230067896'))  # 0

    # Gera o código de barras em PNG
    image_png(
        filename='codigo_de_barras.png',
        codigo_de_barras=codigo_de_barras,
        linha_digitavel=codigo_de_barras_com_dac,
    )

    # Gera o código de barras em SVG
    image_svg(
        filename='codigo_de_barras.svg',
        codigo_de_barras=codigo_de_barras,
        linha_digitavel=codigo_de_barras_com_dac,
    )

    # Gera o código de barras em base64 PNG para utilização em html
    html_base64_img(
        'index1.html',
        base64_png(codigo_de_barras, linha_digitavel=codigo_de_barras_com_dac),
    )

    # Gera o código de barras em base64 SVG para utilização em html
    html_base64_img(
        'index2.html',
        base64_svg(codigo_de_barras, linha_digitavel=codigo_de_barras_com_dac),
    )

Metadata

Release files for febraban-barcode 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for febraban-barcode 0.3.0
File Size Uploaded
febraban_barcode-0.3.0.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for febraban-barcode 0.3.0
File Interpreter ABI Platform
febraban_barcode-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 23.8 kB

Release files / febraban_barcode-0.3.0.tar.gz

Download URL febraban_barcode-0.3.0.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
94ef0cb9e30ce3f313cc42c6a67730558b082164386731d88bd541a6d45e0618
BLAKE2b-256 checksum
How to use checksums
94b80563da25b012ec5da00624023942820640ed4c5c0087fdb94355f35e2301
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Release files / febraban_barcode-0.3.0-py3-none-any.whl

Download URL febraban_barcode-0.3.0-py3-none-any.whl
Size 12.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c2fb77d2040f1eeb37d5f521b9fee106b91a44086c569ce84ebacfae37772ecb
BLAKE2b-256 checksum
How to use checksums
5506787614a01b0a9ecd98a8d809055a431a06e6967b6aef855c8eaf47d13a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.0 CPython/3.12.5

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page