IronOCR 操作指南 字體訓練 針對 Windows 開發人員的 Tesseract 5 C# 自訂字體培訓 Kannapat Udonpant 更新:2026年1月20日 下載 IronOCR NuGet 下載 DLL 下載 Windows 安裝程式 開始免費試用 LLM副本 LLM副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English Tesseract 5 中的自訂字體訓練可提高特定字體的 OCR 準確率。 此過程會產生訓練數據,用於訓練引擎識別字體特徵。 產生的 .traineddata 檔案可與IronOCR搭配使用,精確辨識裝飾性或特殊字體。 快速入門:在 C# 中使用您的 .traineddata 字型檔案 只需幾行程式碼,即可在IronOCR中使用您自訂訓練的 Tesseract 字體檔案。 非常適合對特殊字體或裝飾字體進行精確的OCR識別。 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronOcr PM > Install-Package IronOcr 複製並運行這段程式碼。 var ocr = new IronOcr.IronTesseract(); ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata"); string text = ocr.Read(new IronOcr.OcrInput("image-with-special-font.png")).Text; 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronOCR Free 30 Day Trial ### 最簡工作流程(5個步驟) 下載一個用於訓練自訂字體的 C# 庫 準備用於訓練的目標字體文件 請依照本文中的步驟操作。 應用解決方案修正常見錯誤 匯出訓練資料文件 如何下載最新版本的IronOCR? 我應該使用哪種安裝方法? 直接將IronOCR DLL下載到您的電腦。 為什麼應該使用NuGet ? 或者,也可以透過NuGet使用以下指令安裝: Install-Package IronOcr IronOCR為Tesseract 5 功能和自訂語言實作提供全面支持,使其成為滿足特殊 OCR 需求的理想選擇。 如何安裝和設定 WSL2 和 Ubuntu? 請參閱設定 WSL2 和 Ubuntu 的教學。 請注意自訂字型訓練需要 Linux 系統。 培訓需要 Linux,但生成的 .traineddata 檔案可以在所有平台上無縫運行。 有關詳細的 Linux 設定說明,請參閱我們的Linux 部署指南。 如何在Ubuntu上安裝Tesseract 5? 使用以下命令安裝 Tesseract 5: sudo apt install tesseract-ocr sudo apt install libtesseract-dev sudo apt install tesseract-ocr sudo apt install libtesseract-dev SHELL 這些軟體包提供了訓練所需的核心 Tesseract OCR 引擎和開發庫。 有關 Tesseract 的高級配置選項,請參閱我們的詳細配置指南。 我應該下載哪種字體用於培訓? 本教學使用 AMGDT 字體。 字型檔案可以是 .ttf 或 .otf 格式。 選擇培訓用字體時: 選擇與標準 Tesseract 模型顯著不同的字體 確保字體擁有合法授權 考慮使用裝飾字體、手寫字體或行業專用字體 使用應用程式在生產環境中遇到的字體進行測試 如何掛載磁碟機進行自訂字體訓練? 使用下列命令將磁碟機 D: 掛載為您的工作空間: cd / cd /mnt/d cd / cd /mnt/d SHELL 這樣,您就可以直接從 Ubuntu WSL2 環境處理儲存在 Windows 磁碟機上的檔案。 如何將字型檔案複製到Ubuntu字型資料夾? 將字型檔複製到以下 Ubuntu 目錄:/usr/share/fonts 和 /usr/local/share/fonts。 在 Ubuntu 中,您可以透過在檔案總管的網址列中輸入 \\wsl$ 來存取檔案。 如果出現"目標資料夾存取被拒絕"的錯誤怎麼辦? 如果遇到存取被拒絕的錯誤,請使用命令列複製檔案: cd / su root cd /c/Users/Admin/Downloads/'AMGDT Regular' cp 'AMGDT Regular.ttf' /usr/share/fonts cp 'AMGDT Regular.ttf' /usr/local/share/fonts exit cd / su root cd /c/Users/Admin/Downloads/'AMGDT Regular' cp 'AMGDT Regular.ttf' /usr/share/fonts cp 'AMGDT Regular.ttf' /usr/local/share/fonts exit SHELL 字體安裝對於培訓過程至關重要。 系統在產生訓練圖像時需要存取字體以進行渲染。 如何從GitHub克隆 tesseract_tutorial ? 使用以下命令複製 tesseract_tutorial 代碼倉庫: git clone https://github.com/astutejoe/tesseract_tutorial.git git clone https://github.com/astutejoe/tesseract_tutorial.git SHELL 此儲存庫包含訓練過程中必要的 Python 腳本和設定檔。 這些腳本可以自動完成字體訓練中的許多手動步驟。 如何從GitHub克隆 tesstrain 和 tesseract ? 導航至 tesseract_tutorial 目錄,然後複製 tesstrain 和 tesseract 儲存庫: git clone https://github.com/tesseract-ocr/tesstrain git clone https://github.com/tesseract-ocr/tesseract git clone https://github.com/tesseract-ocr/tesstrain git clone https://github.com/tesseract-ocr/tesseract SHELL tesstrain 包含用於建立 .traineddata 檔案的 Makefile tesseract 包含 tessdata 資料夾,其中包含在自訂字體訓練期間用作參考的原始 .traineddata 文件 有關使用多個語言包和自訂訓練資料的更多信息,請參閱我們的國際語言指南。 如何建立用於儲存輸出結果的"資料"資料夾? 在 tesseract_tutorial/tesstrain 目錄下建立資料資料夾: mkdir tesseract_tutorial/tesstrain/data mkdir tesseract_tutorial/tesstrain/data SHELL 此資料夾儲存所有產生的訓練文件,包括 .box、.tif 和中間訓練工件。 如何運行 split_training_text.py? 返回 tesseract_tutorial 資料夾並執行以下命令: python split_training_text.py python split_training_text.py SHELL 運行 split_training_text.py 後,它會在資料資料夾中建立 .box 和 .tif 檔案。 如何解決 Fontconfig 警告? 如果您看到警告 Fontconfig warning: "/tmp/fonts.conf, line 4: empty font directory name ignored",則表示缺少字體目錄。 請編輯 tesseract_tutorial/fonts.conf 檔案並新增以下內容來解決此問題: <dir>/usr/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir prefix="xdg">fonts</dir> <dir>~/.fonts</dir> <dir>/usr/share/fonts</dir> <dir>/usr/local/share/fonts</dir> <dir prefix="xdg">fonts</dir> <dir>~/.fonts</dir> XML 將其複製到 /etc/fonts,並附上: cp fonts.conf /etc/fonts cp fonts.conf /etc/fonts SHELL 此外,更新 split_training_text.py: fontconf_dir = '/etc/fonts' fontconf_dir = '/etc/fonts' PYTHON 我應該產生多少個訓練文件? 目前配置會產生 100 個訓練文件。 您可以在 split_training_text.py 中修改此內容。 針對生產品質培訓: 先取100-500個樣本進行測試。 使用 1000-5000 個樣本以提高準確性 提供涵蓋所有必需字元的各種文字樣本 平衡訓練時間和準確度要求 我應該在哪裡下載 eng.traineddata? 從此儲存庫下載 eng.traineddata 並將其放置在 tesseract_tutorial/tesseract/tessdata 中。 基礎模型提供語言上下文,從而提高辨識準確度。 選擇與目標語言相符的基礎模型。 如需解決自訂語言包問題,請參閱我們的自訂 OCR 語言包指南。 如何建立我的自訂字體 .traineddata? 導航至 tesstrain 資料夾,並在 WSL2 中使用以下命令: TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100 TESSDATA_PREFIX=../tesseract/tessdata make training MODEL_NAME=AMGDT START_MODEL=eng TESSDATA=../tesseract/tessdata MAX_ITERATIONS=100 SHELL MODEL_NAME 是您的自訂字型名稱 START_MODEL 是原始的 .traineddata 參考 MAX_ITERATIONS 定義迭代次數(迭代次數越多,準確率越高) 如果我在 Makefile 中遇到"讀取資料失敗"的錯誤怎麼辦? 若要解決"讀取資料失敗"的問題,請修改 Makefile 檔案: WORDLIST_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-word-dawg NUMBERS_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-number-dawg PUNC_FILE := $(OUTPUT_DIR2)/$(MODEL_NAME).lstm-punc-dawg 此修改可確保 Makefile 在正確的輸出目錄結構中尋找檔案。 如何解決"無法載入腳本 Unicharset"錯誤? 將 Latin.unicharset 插入 tesstrain/data/langdata 資料夾。 在這裡找到Latin.unicharset。 unicharset 檔案定義了您的語言或腳本的字元集。 確保它與你的字體字元覆蓋範圍相符。 如何驗證創建的 .traineddata 的準確性? 使用 1000 個 .box 和 .tif 檔案以及 3000 次訓練迭代,輸出 AMGDT.traineddata 實現了約 5.77% 的最小訓練錯誤率 (BCER@)。 使用IronOCR測試您訓練好的模型: using IronOcr; // Initialize IronOCR with custom trained data var ocr = new IronTesseract(); // Load your custom trained font ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata"); // Configure for optimal results ocr.Configuration.BlackListCharacters = ""; ocr.Configuration.WhiteListCharacters = ""; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; // Process an image with your custom font using var input = new OcrInput(); input.LoadImage("test-image-with-amgdt-font.png"); // Optional: Apply filters if needed input.EnhanceResolution(300); input.DeNoise(); // Perform OCR var result = ocr.Read(input); Console.WriteLine($"Recognized Text: {result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); using IronOcr; // Initialize IronOCR with custom trained data var ocr = new IronTesseract(); // Load your custom trained font ocr.UseCustomTesseractLanguageFile(@"path\to\AMGDT.traineddata"); // Configure for optimal results ocr.Configuration.BlackListCharacters = ""; ocr.Configuration.WhiteListCharacters = ""; ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.AutoOsd; // Process an image with your custom font using var input = new OcrInput(); input.LoadImage("test-image-with-amgdt-font.png"); // Optional: Apply filters if needed input.EnhanceResolution(300); input.DeNoise(); // Perform OCR var result = ocr.Read(input); Console.WriteLine($"Recognized Text: {result.Text}"); Console.WriteLine($"Confidence: {result.Confidence}%"); $vbLabelText $csharpLabel 若要在生產應用程式中實作自訂字體,請參閱我們關於使用自訂語言檔案的指南。 如需進一步閱讀和參考,請觀看教學: YouTube 影片 常見問題解答 如何在 C# 中使用自訂訓練的字型檔案? 只需幾行程式碼,您就可以在 IronOCR 中使用自訂訓練的 Tesseract 字型檔案。只需建立一個 IronTesseract 範例,以您的 .traineddata 檔案路徑呼叫 UseCustomTesseractLanguageFile(),然後使用 Read() 方法對包含您特殊字型的影像執行 OCR。 訓練 OCR 自訂字型有哪些要求? 自訂字型訓練需要 Linux 環境 (Windows 使用者建議使用 Ubuntu 的 WSL2)、已安裝開發函式庫的 Tesseract 5,以及您想要訓練的字型檔案 (.ttf或 .otf 格式)。在 Linux 中建立的 .traineddata 檔案可在所有平台上與 IronOCR 無縫搭配使用。 為何要訓練自訂字型而非使用標準 OCR? 訓練自訂字型可提高特定字型的 OCR 準確度,尤其是與標準 Tesseract 模型有顯著差異的裝飾字型或特殊字型。IronOCR 就可以使用這些訓練過的字型檔案,準確辨識包含這些獨特字型的影像中的文字,否則標準 OCR 模型就很難讀取這些文字。 我可以在不同的平台上使用自訂訓練的字型嗎? 是的,雖然訓練過程需要使用 Linux,但所產生的 .traineddata 檔案可透過 IronOCR 在所有平台上無縫運作。這表示您可以在 Linux 上訓練一次,然後在 Windows、macOS 或 Linux 部署上使用訓練好的資料檔案。 建議使用何種安裝方式開始使用? 為了快速安裝,您可以直接下載 IronOCR DLL 或透過 NuGet Package Manager 安裝。建議使用 NuGet,因為它會自動處理相依性,讓更新更容易。IronOCR 提供對 Tesseract 5 功能和自訂語言實作的全面支援。 Kannapat Udonpant 立即與工程團隊聊天 軟體工程師 在成為軟件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人實验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因為他直接向编写大部分 IronPDF 使用的代碼的開發者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代碼或文檔時,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。 審核人 Jeffrey T. Fritz 首席程序经理 - .NET 社群团队 Jeff 也是 .NET 和 Visual Studio 团队的首席程序经理。他是 .NET Conf 虚拟会议系列的执行制作人,并主持“Fritz 和朋友”这一每周两次的開發者的直播节目,在节目上讨论技術并与观众一起编写代碼。Jeff 撰写研讨会、主持演讲,并计划大型 Microsoft 開發者活動(包括 Microsoft Build、Microsoft Ignite、.NET Conf 和 Microsoft MVP Summit)的內容。 準備好開始了嗎? Nuget 下載 5,556,263 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:5,556,263 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package IronOcr 執行範例 觀看您的圖片變成可搜尋的文字。 免費 NuGet 下載 總下載量:5,556,263 查看許可證