Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docsnap

Biblioteca Dart/Flutter para extração automática de dados de documentos de identificação angolanos a partir de texto reconhecido por OCR.

Atenção: Atualmente, apenas a extração do Bilhete de Identidade (BI) angolano está disponível. Outros documentos serão suportados em versões futuras.


Funcionalidades

  • ✅ Extração automática dos campos do Bilhete de Identidade (BI) angolano
  • 🚧 Verificação e extração de dados do Passaporte angolano (em desenvolvimento)
  • 🚧 Verificação e extração de dados da Carta de Condução angolana (em desenvolvimento)

Principais Campos Extraídos do BI

  • Nome completo

  • Número do bilhete

  • Data de nascimento

  • Sexo

  • Estado civil

  • Naturalidade

  • Província

  • Residência

  • Altura

  • Data de emissão

  • Data de validade

  • Tratamento de variações e erros comuns de OCR

  • Modelagem dos dados extraídos em uma estrutura única (BiModel)


Instalação

Adicione ao seu pubspec.yaml:

dependencies:
  docsnap: ^1.0.0

Execute:

flutter pub get

Uso Básico

A extração dos dados retorna uma instância da classe BiModel, que possui as seguintes propriedades:

enum Sexo { masculino, feminino, desconhecido }

class BiModel {
  final String nomeCompleto;
  final String numeroBilhete;
  final DateTime? dataNascimento;
  final Sexo sexo;
  final String estadoCivil;
  final String residencia;
  final String naturalDe;
  final String provinciaDe;
  final DateTime? emitidoEm;
  final DateTime? validoAte;
  final double? altura;

  BiModel({
    required this.nomeCompleto,
    required this.numeroBilhete,
    required this.dataNascimento,
    required this.sexo,
    required this.estadoCivil,
    required this.residencia,
    required this.naturalDe,
    required this.provinciaDe,
    required this.emitidoEm,
    required this.validoAte,
    required this.altura,
  });
}

1. Extraindo dados para o modelo BiModel

import 'package:docsnap/model/bi_parser.dart';
import 'package:docsnap/model/bi_model.dart';
import 'dart:io';

final biModel = await BiParser.parseFromImage(File('caminho/para/imagem.jpg'));

if (biModel != null) {
  final dadosMap = biModel.toJson();

  // Convertendo o mapa para o modelo BiModel novamente
  final novoBiModel = BiModel.fromJson(dadosMap);

  print(novoBiModel.nomeCompleto);
  print(novoBiModel.numeroBilhete);
  print(novoBiModel.sexo);
  // ... demais campos
}

2. Extraindo dados e acessando como mapa

import 'package:docsnap/model/bi_parser.dart';

final biModel = BiParser.parseFromText(textoOcr);

if (biModel != null) {
  print('Nome: ${biModel["nome_completo"]}');
  print('Número do BI: ${biModel["numero_bilhete"]}');
  // ... demais campos
}

API

BiParser

  • Future<BiModel?> parseFromImage(File imageFile)
    • Processa uma imagem e retorna um modelo com os campos extraídos do BI angolano.

BiModel

Estrutura de dados com os seguintes campos:

  • nomeCompleto
  • numeroBilhete
  • dataNascimento
  • sexo
  • estadoCivil
  • residencia
  • naturalDe
  • provinciaDe
  • emitidoEm
  • validoAte
  • altura

Requisitos


link do pacote pub dev


link do package

link do package


Observações

  • Somente para BI angolano. Outros documentos não são suportados nesta versão.
  • A precisão depende da qualidade da imagem e do texto reconhecido.
  • O parser foi ajustado para os padrões do BI angolano.

Roadmap

  • ✅ Suporte ao Bilhete de Identidade angolano
  • 🚧 Suporte ao Passaporte angolano (em breve)
  • 🚧 Suporte à Carta de Condução angolana (em breve)

Licença

MIT

About

Docsnap é uma aplicação que utiliza OCR (Reconhecimento Óptico de Caracteres) com Google ML Kit para extrair automaticamente dados estruturados de documentos de identificação (como Bilhetes de Identidade).

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages