IRONSOFTWAREHOME

Como Realizar OCR no Android em .NET MAUI

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

.NET MAUI (Multi-platform App UI) é uma evolução do framework Xamarin.Forms, projetado para criar aplicativos multiplataforma para Android, iOS, macOS e Windows usando .NET. .NET MAUI visa simplificar o processo de construção de interfaces de usuário nativas que podem rodar em múltiplas plataformas.

O pacote IronOcr.Android traz suporte a OCR para Android!

Pacote IronOCR Android

O pacote IronOcr.Android habilita recursos OCR em dispositivos Android via projetos multiplataforma em .NET. O pacote básico do IronOCR não é necessário.

PM > Install-Package IronOCR.

Biblioteca NuGet C# para PDF

Instalar com NuGet

Install-Package IronOCR.

Criar um projeto .NET MAUI

Abra o Visual Studio e clique em "Criar um novo projeto". Procure por MAUI, selecione .NET MAUI App e clique em "Próximo".

Criar projeto de aplicativo .NET MAUI

Incluir a biblioteca IronOcr.Android

A biblioteca pode ser adicionada de várias maneiras. A maneira mais fácil é talvez usando o NuGet.

  1. Dentro do Visual Studio, clique com o botão direito em "Dependências" e selecione "Gerenciar Pacotes NuGet ...".
  2. Selecione a guia "Navegar" e pesquise por "IronOcr.Android".
  3. Selecione o pacote "IronOcr.Android" e clique em "Instalar".

Baixar pacote IronOcr.Android

Para evitar problemas com outras plataformas, modifique o arquivo csproj para incluir o pacote apenas ao mirar a plataforma Android. Para fazer isso:

  1. Clique com o botão direito no projeto e selecione "Editar Arquivo de Projeto".

  2. Crie um novo elemento ItemGroup assim:

    <ItemGroup Condition="$(TargetFramework.Contains('android')) == true">
    </ItemGroup>
    XML
  3. Mova a referência "IronOcr.Android" para dentro do ItemGroup que acabamos de criar.

As etapas acima evitarão que o pacote "IronOcr.Android" seja usado em, por exemplo, plataformas iOS (para esse fim, instale IronOcr.iOS em vez disso).

Editar "MainActivity.cs"

  • Abra o arquivo "MainActivity.cs" navegando até Plataformas -> Android.
  • Adicione o método MainActivity e invoque o método Initialize.
using Android.App;
using Android.Content.PM;
using Android.Runtime;
using Android.OS;
using IronOcr;

namespace MAUI IronOCRAndroidSample
{
    [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
    public class MainActivity : MauiAppCompatActivity
    {
        public MainActivity()
        {
            // Initialize IronTesseract for OCR purposes
            IronTesseract.Initialize(this);
        }
    }
}
C#

Editar "MainPage.xaml"

Edite o arquivo XAML para exibir um botão e um rótulo para mostrar o resultado do OCR. Por exemplo:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MAUI IronOCRAndroidSample.MainPage">

    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
        <Button
            Text="Import File"
            Clicked="ReadFileOnImport"
            Grid.Row="0"
            HorizontalOptions="Center"
            Margin="20, 20, 20, 10"/>

        <ScrollView
            Grid.Row="1"
            BackgroundColor="LightGray"
            Padding="10"
            Margin="10, 10, 10, 30">
            <Label x:Name="OutputText"/>
        </ScrollView>
    </Grid>

</ContentPage>
XML

Editar "MainPage.xaml.cs"

Primeiro, crie uma instância do objeto IronTesseract. Garanta que IronTesseract seja inicializado uma vez dentro da classe, conforme demonstrado no código abaixo. Instanciá-lo dentro de um método pode ser ineficaz e pode causar erros inesperados.

Em seguida, use o método FilePicker.PickAsync para selecionar um arquivo, depois abra um fluxo de leitura a partir do FileResult. Crie um novo objeto OcrInput e carregue a imagem nele. Execute OCR na imagem usando a instância Tesseract e recupere o texto. Por fim, exiba o texto resultante em um rótulo.

using IronOcr;
using Microsoft.Maui.Controls;
using System;
using System.Diagnostics;
using System.IO;
using System.Threading.Tasks;

namespace MAUI IronOCRAndroidSample
{
    public partial class MainPage : ContentPage
    {
        // Initialize IronTesseract once in a class
        private readonly IronTesseract ocrTesseract = new IronTesseract();

        public MainPage()
        {
            InitializeComponent();
            // Apply License key if required
            IronOcr.License.LicenseKey = "IRONOCR.MYLICENSE.KEY.1EF01";
        }

        private async void ReadFileOnImport(object sender, EventArgs e)
        {
            try
            {
                // Configure the file picker
                var options = new PickOptions
                {
                    PickerTitle = "Please select a file"
                };
                
                // Await user's file selection
                var result = await FilePicker.PickAsync(options);
                if (result != null)
                {
                    using var stream = await result.OpenReadAsync();
                    // Instantiate OcrInput
                    using var ocrInput = new OcrInput();
                    // Load image stream for OCR processing
                    ocrInput.AddImage(stream);
                    // Perform OCR
                    var ocrResult = ocrTesseract.Read(ocrInput);
                    // Display extracted text
                    OutputText.Text = ocrResult.Text;
                }
            }
            catch (Exception ex)
            {
                // Log and handle exceptions
                Debug.WriteLine(ex);
            }
        }
    }
}
C#

Por fim, no arquivo .csproj, certifique-se de que você está apenas construindo o projeto para Android. Como o pacote que adicionamos é apenas para Android, construir o projeto para todas as plataformas falhará.

Execute o projeto

Isso mostrará como executar o projeto e realizar OCR.

Execute .NET MAUI App project

Baixar Projeto de App .NET MAUI

Você pode baixar o código completo deste guia. Ele está compactado em um arquivo zip que pode ser aberto no Visual Studio como um projeto de aplicativo .NET MAUI .

[Clique aqui para baixar o projeto.](/static-assets/ocr/how-to/setup-android/MAUI IronOCRAndroidSample.zip)

Usando IronOcr.Android no Avalonia

Semelhante ao MAUI, o IronOcr.Android pode ser usado em um projeto Avalonia com a mesma configuração descrita acima.

Se você deseja realizar OCR no iOS, navegue até o artigo seguinte para saber mais: "Como Realizar OCR no iOS em .NET MAUI"

Perguntas frequentes

Como posso realizar OCR no Android em um aplicativo .NET MAUI?

Para realizar OCR no Android usando .NET MAUI, instale o pacote IronOcr.Android via NuGet no Visual Studio. Utilize a classe IronTesseract para processar imagens e extrair texto. Certifique-se de que seu projeto esteja configurado para Android, modificando o arquivo .csproj adequadamente.

Qual é a finalidade do pacote IronOcr.Android?

O pacote IronOcr.Android foi projetado especificamente para trazer recursos de OCR para dispositivos Android em projetos .NET MAUI. Ele simplifica a integração de recursos de reconhecimento de texto em aplicativos multiplataforma para Android.

Como configuro um projeto .NET MAUI para OCR no Android?

Configure seu projeto .NET MAUI instalando o pacote IronOcr.Android via NuGet. Ajuste o arquivo .csproj para direcionar o projeto para Android criando um novo elemento ItemGroup e movendo a referência do pacote IronOcr.Android para dentro dele. Isso evita problemas de compilação em outras plataformas.

Quais modificações são necessárias no arquivo MainActivity.cs para a configuração do OCR?

No arquivo MainActivity.cs, em Platforms -> Android, adicione o método MainActivity e chame o método Initialize do IronTesseract. Isso configura os recursos de OCR necessários para processar texto em imagens.

Como posso editar o arquivo MainPage.xaml para incorporar recursos de OCR?

Edite o arquivo MainPage.xaml para incluir um botão para importar arquivos e um rótulo para exibir os resultados do OCR. Defina os elementos de interface do usuário necessários para interagir com a lógica de processamento do OCR e gerenciar a entrada do usuário de forma eficaz.

O que devo fazer se encontrar erros durante o processamento de OCR?

Utilize blocos try-catch em torno do seu código de processamento OCR para lidar com exceções. Registre quaisquer erros usando Debug.WriteLine ou outro mecanismo de registro para ajudar no diagnóstico e correção de problemas.

É possível usar o pacote IronOcr.Android em projetos Avalonia?

Sim, o pacote IronOcr.Android pode ser usado em projetos Avalonia com um processo de configuração semelhante ao do .NET MAUI. Ajuste a configuração do projeto de acordo para habilitar a funcionalidade de OCR.

Onde posso encontrar um projeto de exemplo completo para OCR em Android usando .NET MAUI?

Um projeto de exemplo completo para OCR em Android usando a biblioteca IronOCR em .NET MAUI está disponível para download através de um link fornecido no guia. O projeto é um arquivo compactado, pronto para ser aberto no Visual Studio.

Como posso garantir que o pacote IronOcr.Android seja direcionado apenas para Android em um projeto multiplataforma?

Para garantir que o pacote IronOcr.Android seja direcionado apenas para Android, modifique o arquivo .csproj criando um ItemGroup condicional para Android e movendo a referência do pacote IronOcr.Android para dentro dele. Isso evita conflitos ao compilar para outras plataformas.

How do you initialize IronTesseract in a MAUI project?

Within your 'MainActivity', initialize IronTesseract by calling `IronTesseract.Initialize(this);` to prepare it for OCR operations in your Android app.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 6,262,020Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

OR
bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.