Usando o libgdiplus com IronOCR para Converter Imagem em Texto no Linux e macOS
.NET Core requer libgdiplus para usar o pacote NuGet System.Drawing.Common da Microsoft. Se não for encontrado no macOS ou Linux, você pode experimentar esta exceção:
- Exceção não tratada. System.DllNotFoundException: Não foi possível encontrar ou carregar a biblioteca nativa de qualquer nome: [ libgdiplus, libgdiplus.so ]
- Se você vir
System.TypeInitializationException: The type initializer for 'Gdip' threw an exception,, por favor, leia nosso guia System.Drawing.Common no NET6.
Linux
Ubuntu, Debian
Para instalar as bibliotecas necessárias no Ubuntu ou Debian, execute o seguinte comando:
# Update package lists and install necessary libraries
sudo apt-get update && sudo apt-get install -y apt-utils libgdiplus libc6-dev
# Update package lists and install necessary libraries
sudo apt-get update && sudo apt-get install -y apt-utils libgdiplus libc6-dev
Docker
Adicione a seguinte linha ao seu Dockerfile para garantir que as bibliotecas necessárias sejam incluídas na sua imagem Docker:
# Update package lists and install necessary libraries in Docker container
RUN apt-get update && apt-get install -y apt-utils libgdiplus libc6-dev
macOS
Se você encontrar a seguinte exceção no macOS:
Exceção não tratada. System.DllNotFoundException: Não foi possível encontrar ou carregar a biblioteca nativa de qualquer nome: [ libgdiplus, libgdiplus.dylib ]
Você pode resolver isso por:
- Adicionando o pacote NuGet runtime.osx.10.10-x64.CoreCompat.System.Drawing à sua solução .NET para incluir libgdiplus no seu projeto.
- Alternativamente, instalar manualmente a biblioteca via Homebrew com o comando abaixo:
# Update Homebrew and install mono-libgdiplus
brew update && brew install mono-libgdiplus
# Update Homebrew and install mono-libgdiplus
brew update && brew install mono-libgdiplus
- Mais informações estão disponíveis na documentação oficial do .NET.

