Implementação em python do layout padrão de arrecadação/recebimento com utilização do código de barras da Febraban.
Project description
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),
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file febraban_barcode-0.3.0.tar.gz
.
File metadata
- Download URL: febraban_barcode-0.3.0.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94ef0cb9e30ce3f313cc42c6a67730558b082164386731d88bd541a6d45e0618 |
|
MD5 | 9a8d8b4dcbcc7b7b9092a88bdb5604f5 |
|
BLAKE2b-256 | 94b80563da25b012ec5da00624023942820640ed4c5c0087fdb94355f35e2301 |
File details
Details for the file febraban_barcode-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: febraban_barcode-0.3.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2fb77d2040f1eeb37d5f521b9fee106b91a44086c569ce84ebacfae37772ecb |
|
MD5 | fb5d53290a4f5919dc307dea4f0af4e7 |
|
BLAKE2b-256 | 5506787614a01b0a9ecd98a8d809055a431a06e6967b6aef855c8eaf47d13a24 |