Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

febraban-barcode

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

febraban-barcode

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

  • 0.3.0
  • PyPI
  • Socket score

Maintainers
1

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),
    )

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc