Febraban Barcode
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)
| File | Size | Uploaded | |
|---|---|---|---|
| febraban_barcode-0.3.0.tar.gz | 11.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|