A PHP Error was encountered
Severity: Warning
Message: count(): Parameter must be an array or an object that implements Countable
Filename: libraries/StructuredData.php
Line Number: 638
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 638
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: libraries/StructuredData.php
Line Number: 641
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 641
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: libraries/StructuredData.php
Line Number: 643
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 643
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: libraries/StructuredData.php
Line Number: 644
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 644
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1302
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: count(): Parameter must be an array or an object that implements Countable
Filename: libraries/StructuredData.php
Line Number: 638
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 638
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: libraries/StructuredData.php
Line Number: 641
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 641
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: libraries/StructuredData.php
Line Number: 643
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 643
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: libraries/StructuredData.php
Line Number: 644
Backtrace:
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 644
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1285
Function: getWebPageContributor
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 815
Function: buildSingleDocArticleSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1305
Function: buildHowToSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 1317
Function: buildBaseDocumentationSchema
File: /var/www/ironpdf.com/application/libraries/StructuredData.php
Line: 2699
Function: buildTechArticleSchema
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 354
Function: setJsonLDStructuredData
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
IronOCR
操作指南
字體培訓
C# Custom Font Training for Tesseract 5 (for Windows Users)
View the article in
English
利用 Tesseract 5 的自訂字體訓練來提高 OCR 引擎在處理可能預設不太支援的特定字體或字體風格時的準確性及識別能力。
此過程涉及提供 Tesseract 訓練數據,如字體樣本和對應文本,以便它學習自訂字體的特定特徵和模式。
as-heading:2(快速入門:在 C# 中使用您的 .traineddata 字體文件)
以下是如何在 IronOCR 中使用您自訂訓練的 Tesseract 字體文件的簡單步驟。 適合快速獲得特殊或裝飾性字體的準確 OCR。
Get started making PDFs with NuGet now:
Install IronOCR with NuGet Package Manager
Copy and run this code snippet.
var ocr = new IronOcr.IronTesseract();
ocr.UseCustomTesseractLanguageFile("path/to/YourCustomFont.traineddata");
string text = ocr.Read(new IronOcr.OcrInput("image-with-special-font.png")).Text;
Deploy to test on your live environment
Start using IronOCR in your project today with a free trial
步驟 1:下載最新版本的 IronOCR
透過 DLL 安裝
直接將 IronOcr DLL 下載到您的機器。
透過 NuGet 安裝
或者,您可以通過以下命令通過 NuGet 安裝:
步驟 2:安裝並設置 WSL2 和 Ubuntu
參考教程 設置 WSL2 和 Ubuntu 。
自訂字體訓練目前只能在 Linux 上完成。
步驟 3:在 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
步驟 4:下載您要訓練的字體
本教程中我們使用 AMGDT 字體。 字體文件可以是 .ttf 或 .otf。
步驟 5:掛載您的工作空間磁碟驅動器以進行自訂字體訓練
使用下列命令將驅動器 D: 掛載為您的工作空間。
cd /
cd /mnt/d
步驟 6:將字體文件複製到 Ubuntu 字體資料夾
將字體文件複製到 Ubuntu 的以下目錄:/usr/share/fonts 和 /usr/local/share/fonts。
在文件管理器的地址欄中輸入 \wsl$ 來訪問 Ubuntu 的文件。
故障排除:目標資料夾拒絕訪問
如果遇到拒絕訪問錯誤,使用命令行來解決問題以複製文件。
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
步驟 7:從 GitHub 克隆 tesseract_tutorial
使用以下命令克隆 tesseract_tutorial 儲存庫:
git clone https://github.com/astutejoe/tesseract_tutorial.git
git clone https://github.com/astutejoe/tesseract_tutorial.git
SHELL
步驟 8:從 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" 資料夾,其中包括自定字體訓練時用作參考的原始 .traindata 文件。
步驟 9:創建一個 "data" 資料夾來儲存輸出
在 tesseract_tutorial/tesstrain 內創建一個 "data" 資料夾。
步驟 10:運行 split_training_text.py
返回 tesseract_tutorial 資料夾並執行以下命令:
python split_training_text.py
python split_training_text.py
SHELL
在運行 split_training_text.py 後,會在 "data" 資料夾中創建 .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>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
<dir>/usr/share/fonts</dir>
<dir>/usr/local/share/fonts</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
XML
將其複製到 /etc/fonts 的方法:
cp fonts.conf /etc/fonts
此外,更新 split_training_text.py:
fontconf_dir = '/etc/fonts'
fontconf_dir = '/etc/fonts'
PYTHON
注意:訓練文件(.box 和 .tif)數量
目前訓練文件的數量設置為 100。您可以在 split_training_text.py 中修改這一點。
步驟 11:下載 eng.traineddata
從此 儲存庫 下載 eng.traineddata 並將其放置在 tesseract_tutorial/tesseract/tessdata。
步驟 12:創建您的自訂字體 .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 定義了迭代次數(更多迭代次數可以提高 .traineddata 的準確性)。
故障排除:Makefile 中的 "Failed to Read Data"
為了解決 "Failed to read data" 問題,修改 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
故障排除:"Failed to Load Script Unicharset"
在 tesstrain/data/langdata 資料夾中插入 Latin.unicharset。 Latin.unicharset 可以在 這裡 找到。
步驟 13:驗證所創建的 .traineddata 的準確性
使用 1000 個 .box 和 .tif 文件及 3000 次訓練迭代,輸出 .traineddata (AMGDT.traineddata) 在最小訓練誤差率 (BCER) 上達到約 5.77。
欲了解更多閱讀和參考,請參見教程:YouTube 視頻
常見問題解答
要使用 C# 為 Tesseract 訓練自訂字體,您必須先下載 IronOCR,準備您的字體文件,並透過 Windows 上的 WSL2 和 Ubuntu 設定 Linux 環境,因為 Tesseract 的自訂字體訓練僅在 Linux 上受支援。
要使用 WSL2 在 Windows 上安裝 Tesseract 5,您需要設定 Ubuntu,然後使用指令sudo apt install tesseract-ocr和sudo apt install libtesseract-dev完成安裝。
如果遇到「目標資料夾存取被拒絕」錯誤,請使用具有 root 權限的命令列將字體檔案複製到必要的目錄中,以繞過權限問題。
Tesseract 中的自訂字體訓練需要 Linux 環境,因為訓練工具設計用於在類別 Unix 系統上運行,而 WSL2 可用於在 Windows 上模擬此環境。
要解決「Fontconfig 警告」錯誤,您應該將字體目錄路徑新增至fonts.conf檔案中,並確保將其複製到/etc/fonts目錄。
'tesstrain' 儲存庫用於建立 Tesseract 中自訂字體訓練所需的.traineddata文件,並提供該過程所需的腳本和 Makefile。
要解決「無法載入腳本 Unicharset」錯誤,您需要將Latin.unicharset插入到tesstrain/data/langdata資料夾中,以確保必要的字元集可用。
您可以透過檢查訓練錯誤率(稱為 BCER)來驗證自訂訓練資料的準確性,並確保在足夠的迭代和訓練檔案調整後 BCER 達到最小值。
軟體工程師
在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'name'
Filename: sections/author_component.php
Line Number: 70
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 70
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
">
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'title'
Filename: sections/author_component.php
Line Number: 84
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 84
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
A PHP Error was encountered
Severity: Warning
Message: Illegal string offset 'comment'
Filename: sections/author_component.php
Line Number: 85
Backtrace:
File: /var/www/ironpdf.com/application/views/main/sections/author_component.php
Line: 85
Function: _error_handler
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 63
Function: view
File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 64
Function: main_view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view
File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view
File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view
File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once
準備好開始了嗎?
Nuget 下載 5,044,537 | 版本: 2025.11 剛剛發布
nuget.org/packages/IronOcr/
在解決方案資源管理器中,右鍵單擊參考,管理 NuGet 包
選擇瀏覽並搜尋"IronOCR"
選擇包並安裝
下載並解壓縮IronOCR至如~/Libs這樣的目錄
在Visual Studio解決方案資源管理器中,右鍵單擊引用。選擇瀏覽,"IronOCR.dll"
15
1000
1
立即獲取您的免費 30天試用密鑰 。
謝謝。 如果您想與我們的授權團隊交談: