#utils #命令行工具 #工具 #cli #boleto #可读行

app boleto-utils-cli

用于解析巴西支付凭证(又称“boleto”)条形码的 CLI 工具

3 个版本

0.1.3 2023 年 8 月 26 日
0.1.2 2022 年 12 月 1 日
0.1.1 2022 年 12 月 1 日

#1726命令行工具

MIT 许可证

75KB
1.5K SLoC

Boleto Utils CLI

此包公开了通过创建 boleto-utils 作为 CLI 提供的功能。

由于此项目主题特定于巴西,因此本文档用葡萄牙语编写。

安装

$ cargo install boleto-utils-cli

请确保 ~/.cargo/bin 已添加到您的 PATH,以便可以使用 cargo install 安装的二进制文件直接在您的终端中调用。

使用

帮助

$ boleto --help

USAGE:
    boleto [SUBCOMMAND]

OPTIONS:
    -h, --help       Print help information
    -V, --version    Print version information

SUBCOMMANDS:
    digito-verificador    Calcula o dígito verificador de um código de barras validando apenas o
                              mínimo de dados necessário para realizar o cálculo [aliases: dv]
    help                  Print this message or the help of the given subcommand(s)
    info                  Analisa o código de barra retornando os dados extraídos [aliases: i]

信息

要了解如何使用子命令 info 的帮助,请使用命令 boleto info --help

$ boleto info --help
Analisa o código de barra retornando os dados extraídos

USAGE:
    boleto info [OPTIONS] <COD_BARRAS>

ARGS:
    <COD_BARRAS>    Código de barras ou linha digitável

OPTIONS:
    -f, --format <FORMAT>    Formato da saída [default: text] [possible values: text, json, yaml]
    -h, --help               Print help information
    -V, --version            Print version information

传递条形码

$ boleto info 30195917700001452780000000002310237287225104

            Tipo: Cobrança
Código de barras: 30195917700001452780000000002310237287225104
 Linha digitável: 30190000030000231023372872251045591770000145278
           Banco: [301] BPP Instituição de Pagamento S.A.
           Moeda: Real
           Valor: 1452.78
 Data Vencimento: 2022-11-22

传递可读行

$ boleto info 868900000015238626752850720221223001810200058809

            Tipo: Arrecadação
Código de barras: 86890000001238626752857202212230081020005880
 Linha digitável: 868900000015238626752850720221223001810200058809
        Segmento: Carnês
           Valor: 123.86

返回 JSON 格式(使用 --format json--f json

$ boleto info 30195917700001452780000000002310237287225104 --format json

            Tipo: Cobrança
Código de barras: 30195917700001452780000000002310237287225104
 Linha digitável: 30190000030000231023372872251045591770000145278
           Banco: [301] BPP Instituição de Pagamento S.A.
           Moeda: Real
           Valor: 1452.78
 Data Vencimento: 2022-11-22

返回 YAML 格式(使用 --format yaml--f yaml

$ boleto info 30195917700001452780000000002310237287225104 --format yaml

tipo: cobranca
dados:
  cod_barras: '30195917700001452780000000002310237287225104'
  linha_digitavel: '30190000030000231023372872251045591770000145278'
  info_banco:
    id: 301
    nome: BPP Instituição de Pagamento S.A.
  cod_moeda: Real
  data_vencimento: 2022-11-22
  valor: 1452.78

校验位

子命令 digito-verificadordv 接收可能无效的条形码或可读行,并返回条形码、可读行、总校验位和可读行字段的校验位。

注意:为了计算校验位,最小字段已进行验证,因此返回的条形码和可读行的校验位是有效的,但不能保证其他字段有效。如果您想验证输入的所有字段,请使用命令 info

查看命令帮助

$ boleto dv --help

Calcula o dígito verificador de um código de barras validando apenas o mínimo de dados necessário
para realizar o cálculo

USAGE:
    boleto digito-verificador [OPTIONS] <COD_BARRAS>

ARGS:
    <COD_BARRAS>    Código de barras ou linha digitável

OPTIONS:
    -f, --format <FORMAT>    Formato da saída [default: text] [possible values: text, json, yaml]
    -h, --help               Print help information
    -V, --version            Print version information

计算条形码值

$ boleto dv 12345678901234567890123456789012345678901234

        DV geral: 5
       DV campos: 0 | 3 | 3
Código de barras: 12345678901234567890123456789012345678901234
 Linha digitável: 12340123405678901234356789012343567890123456789

$ boleto dv 80800000000000000000000000000000000000000000

        DV geral: 7
       DV campos: 7 | 0 | 0 | 0
Código de barras: 80870000000000000000000000000000000000000000
 Linha digitável: 808700000007000000000000000000000000000000000000

计算可读行值

$ boleto dv 12345678901234567890123456789012345678901234567

        DV geral: 5
       DV campos: 0 | 3 | 3
Código de barras: 12345678901234567890123456789012345678901234
 Linha digitável: 12340123405678901234356789012343567890123456789

$ boleto dv 808000000000000000000000000000000000000000001111

        DV geral: 9
       DV campos: 7 | 0 | 0 | 2
Código de barras: 80890000000000000000000000000000000000000111
 Linha digitável: 808900000007000000000000000000000000000000001112

依赖关系

~6.5MB
~109K SLoC