docsnap 0.0.2
docsnap: ^0.0.2 copied to clipboard
Pacote Flutter para reconhecimento de texto em imagens usando Google ML Kit.
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:
nomeCompletonumeroBilhetedataNascimentosexoestadoCivilresidencianaturalDeprovinciaDeemitidoEmvalidoAtealtura
Requisitos #
- Flutter >= 3.0
- google_mlkit_text_recognition para reconhecimento de texto
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