Buscar pacotes, repositórios e categorias de apps

Capa de flutter_tesseract_ocr
Detalhes do pacotev0.4.32

flutter_tesseract_ocr

O Tesseract 4 adiciona um novo motor OCR baseado em rede neural (LSTM) focado na reconhecimento de linhas. Ele possui suporte a Unicode (UTF-8) e consegue reconhecer mais de 100 idiomas.

AndroidiOSWeb
Downloads em 30 dias
10,3 mil
Curtidas
216
Pontos Pub
130

Instalar pacote

flutter pub add flutter_tesseract_ocr

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Flutter Tesseract OCR é um plugin Flutter que integra o avançado motor OCR baseado em rede neural (LSTM) do Tesseract 4, permitindo reconhecimento preciso de texto em imagens em mais de 100 idiomas. Ele suporta Unicode (UTF-8), tornando-o ideal para aplicativos multilíngues. O plugin funciona nas plataformas Android, iOS e Web, oferecendo aos desenvolvedores uma solução confiável para digitalização de documentos e extração de texto em aplicativos Flutter.

Casos de uso

  • Digitalização de documentos em aplicativos móveis
  • Extração de texto de imagens
  • Reconhecimento de texto multilíngue
  • Captura automática de dados de formulário
  • Funcionalidade de busca baseada em imagens

Principais recursos

  • motor OCR baseado em LSTM
  • Suporte para mais de 100 idiomas
  • Saída de texto Unicode (UTF-8)
  • Compatibilidade multiplataforma
  • Alta precisão na reconhecimento de linha

Indicado para

  • Aplicativos móveis que exigem OCR
  • Ferramentas de gerenciamento de documentos
  • Extração de texto independente de idioma
  • Projetos híbridos de web e móvel
  • Aplicativos com fluxos de trabalho de imagem para texto

Considerações

  • Requer pré-processamento de imagem para melhores resultados
  • O desempenho pode variar em dispositivos de baixa potência
  • Configuração adicional necessária para idiomas não padrão
  • Suporte offline limitado sem modelos embutidos
  • O tamanho do modelo afeta o tamanho do pacote do aplicativo

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Tesseract OCR for Flutter

Fork note (onestudi0/tesseract_ocr): This fork exists solely to fix android/build.gradle, which still declares the defunct jcenter() repository — current Gradle rejects the jcenter() DSL method outright, so upstream fails to build at all as of this writing. This fork replaces it with mavenCentral(). No other changes. If upstream (khjde1207/tesseract_ocr) ever merges an equivalent fix, switch back to the pub.dev release and drop the dependency_overrides pointing here.

Tesseract OCR 4.0 for flutter This plugin is based on Tesseract OCR 4 This plugin uses Tesseract4Android and SwiftyTesseract.

pub.dev link


https://pub.dev/packages/google_ml_kit

Tesseract is slower than ml_kit.

Consider whether you should use Tesseract


example

install


dev_dependencies:
  ...
  flutter_tesseract_ocr:

web

./web/index.html

use https://www.npmjs.com/package/tesseract.js/v/v4.0.2

<body>
  <script src='https://unpkg.com/tesseract.js@v4.0.2/dist/tesseract.min.js'></script>
  <script>
    async function _extractText(imagePath , mapData){
      var worker = await Tesseract.createWorker();
      await worker.load();
      await worker.loadLanguage(mapData.language)
      await worker.initialize(mapData.language)
      await worker.setParameters(mapData.args)
      var rtn = await worker.recognize(imagePath, {}, worker.id);
      await worker.terminate();
      if(mapData.args["tessjs_create_hocr"]){
        return rtn.data.hocr;
      }
      return rtn.data.text;
    }
  </script>
  ...
  ..
  .
</body>

Getting Started (Android / Ios)

You must add trained data and trained data config file to your assets directory. You can find additional language trained data files here Trained language files

add tessdata folder under assets folder, add tessdata_config.json file under assets folder:

{
  "files": [
    "eng.traineddata",
    "<other_language>.traineddata"
  ]
}

Plugin assumes you have tessdata folder in your assets directory and defined in your pubspec.yaml

Check the contents of example/assets folder and example/pubspec.yaml


IOS issues

Initialization of SwiftyTesseract has failed

Just drag tessdata folder from asset to place under Runner folder in xcode add as a reference then it will work.

Reference


Usage

Using is very simple:

//args support android / Web , i don't have a mac
String text = await FlutterTesseractOcr.extractText('/path/to/image', language: 'kor+eng',
        args: {
          "psm": "4",
          "preserve_interword_spaces": "1",
        });

You can leave language empty, it will default to `'eng'.

//---- dynamic add Tessdata (Android)---- ▼
// https://github.com/tesseract-ocr/tessdata/raw/main/dan_frak.traineddata

HttpClient httpClient = new HttpClient();

HttpClientRequest request = await httpClient.getUrl(Uri.parse(
        'https://github.com/tesseract-ocr/tessdata/raw/main/${langName}.traineddata'));

HttpClientResponse response = await request.close();
Uint8List bytes =await consolidateHttpClientResponseBytes(response);
String dir = await FlutterTesseractOcr.getTessdataPath();

print('$dir/${langName}.traineddata');
File file = new File('$dir/${langName}.traineddata');
await file.writeAsBytes(bytes);
//---- dynamic add Tessdata ---- ▲

Categorias

Dependências

Lista de dependências 2 itens

Repositório-fonte

Projetos que usam este pacote