IRONSOFTWAREHOME

在 .NET MAUI Android 中找不到语言包

Curtis Chau
Curtis Chau
Updated: 2026年6月29日

在.NET MAUI Android项目中加载非英语语言(例如中文)时,即使训练数据位于AndroidAsset,运行时也可能会失败。

System.IO.FileNotFoundException: Language Pack Not Found: chi_sim.traineddata
Text

Visual Studio CodeCLI构建MAUI Android项目时可能会跳过解决IronOCR所需的语言数据文件。 *.traineddata文件从未被打包到APK中,因此引擎在运行时无法找到它们。

解决方案

1. 在Visual Studio 2022中构建

在完整的Visual Studio 2022 IDE(v17.10或更高版本)中打开并构建项目。 完整的IDE在构建过程中将依赖项包括在Android APK中,而CLI和VS Code路径可能会遗漏它们。

2. 重新定位OcrData文件夹

构建后,将OcrData/chi_sim.traineddata

ProjectRoot/
├── OcrData/
│   └── chi_sim.traineddata
├── Resources/
│   └── Fonts/
│       └── NotoSansSC-Regular.ttf
├── MyMauiApp.csproj
Text

3. 将已训练的数据注册为Android资产

将重新定位的文件添加到您的.csproj中,以便它们能够与APK一起发布。

<ItemGroup>
  <AndroidAsset Include="OcrData\chi_sim.traineddata" />
  <AndroidAsset Include="ocrData\chi_tra.traineddata" />
</ItemGroup>
XML

4. 添加支持您的字符的字体

识别的文本仍然需要一个可以在应用程序UI中呈现的字体。 将Noto Sans SC这样的字体放入MauiProgram.cs中注册。

using Microsoft.Extensions.Logging;
namespace MauiApp2
{
    public static class MauiProgram
    {
        public static MauiApp CreateMauiApp()
        {
            var builder = MauiApp.CreateBuilder();
            builder
                .UseMauiApp<App>()
                .ConfigureFonts(fonts =>
                {
                    fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
                    fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
                });
#if DEBUG
            builder.Logging.AddDebug();
#endif
            return builder.Build();
        }
    }
}
C#

调试提示

  • **确认NuGet包:**确保IronOcr.Android已安装并恢复。
  • 打开日志记录以查看IronOCR使用的语言文件搜索路径:
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.All;
IronSoftware.Logger.LogFilePath = "OcrMaui.log";
C#
警告: 在Assets/下面的.tessdata文件夹在CLI或VS Code构建时可能会静默失败,因此有时需要手动重新定位.traineddata文件。
Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

...
阅读更多

准备开始了吗?

Nuget Downloads 6,236,385版本:2026.9刚刚发布

立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索"IronOCR"
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在这里下载Windows安装程序。

  1. 下载并解压IronOCR到你的解决方案目录中的~/Libs位置
  2. 在Visual Studio解决方案资源管理器中,右键点击引用。选择浏览,“IronOCR.dll”

许可证售价$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户