Chinese OCR in C# and .NET
本文檔的其他版本:
IronOCR是一個 C# 軟體元件,允許.NET設計師從圖像和 PDF 文件中讀取 126 種語言(包括中文)的文字。 中文語言包包含簡體中文和繁體中文。
它是 Tesseract 的一個高級分支,專為.NET開發人員構建,在速度和準確性方面通常優於其他 Tesseract 引擎。 該庫能夠識別各種語言(包括中文)的不同格式的圖像和文件。 它支援超過 125 種語言,與競爭對手相比,識別準確率更高。 IronOCR 的 API 在設計時就考慮到了可擴充性和可自訂性。 您可以透過向追蹤器添加您的調優資料或特徵,幫助IronOCR實現高吞吐量和高準確度。 IronOCR使用了多種光學字元辨識技術。 它可以安裝在 Windows PC、Linux、macOS 和其他主流平台上。
IronOCR的內容。語言。中文
此軟體包包含 352 種適用於.NET的 OCR 語言:
- 中文簡體
- 中文簡體最佳
- 中文SimplifiedFast
- 中文簡體垂直
- 中文簡體垂直最佳
- 中文簡體垂直快速
- 中國傳統
- 中國傳統美食精選
- 中式傳統齋戒
- 中文傳統垂直
- 中文傳統垂直Best
- 中文傳統垂直Fast
下載
我們可以從以下連結下載中文語言包:
使用IronOCR識別中文
建立或開啟 C# 項目
要開始使用IronOCR,我們必須建立一個 C# .NET專案。 為此,我們使用 Visual Studio 2022。 您可以根據自己的需求選擇版本。 為了獲得流暢的使用體驗,建議使用最新版本的 Visual Studio。 我們將創建一個圖形使用者介面來選擇圖像。 我們還可以透過提供圖片的直接路徑,在控制台應用程式中使用IronOCR 。 請依照下列步驟在 Visual Studio 2022 中建立 C# 專案:
- 開啟 Visual Studio 2022。 點擊"建立新項目"按鈕。
在搜尋列中輸入"Windows",從搜尋結果中選擇"Windows Form"*應用程序,然後按一下"下一步"按鈕。
- 為項目命名。 我將此項目命名為"ChineseOCR" 。 輸入姓名後,點選"下一步"按鈕。
在下一個畫面上選擇.NET Framework*。 根據專案需求選擇.NET Framework。 本教學選用的是.NET 5.0版本。
- 選擇完成後,點選"建立"按鈕。 它可以輕鬆地在 Visual Studio 中建立 C# Windows 窗體專案。
專案已建立完成,現在可以在IronOCR庫中使用。 我們也可以使用現有的 C# 項目。 開啟專案並開始安裝IronOCR庫。 以下部分將探討在 C# 專案中安裝IronOCR函式庫的方法。
安裝
使用NuGet套件管理器
要使用NuGet套件管理器安裝IronOCR庫,我們必須開啟NuGet套件管理器介面。 請依照以下步驟安裝IronOCR庫:
- 點擊主選單中的"工具",從下拉選單中,將滑鼠懸停在"NuGet套件管理器"上,然後選擇"管理解決方案的NuGet套件管理器"。
這將開啟NuGet套件管理器介面。 前往瀏覽選項卡並蒐索IronOCR Chinese。 從搜尋結果中選擇正確的軟體包,然後點擊"安裝"按鈕進行安裝。
- 它將開始安裝庫。 安裝完成後,您就可以在專案中使用IronOCR庫了。
使用套件管理器控制台
使用遊戲主機始終是簡單的選擇。 我們也可以使用軟體套件管理器控制台安裝IronOCR庫。 請依照以下步驟安裝IronOCR庫:
- 在 Visual Studio 中開啟程式包管理器控制台。 它通常位於 Visual Studio 的底部。
-
在控制台中輸入以下命令:
Install-Package IronOcr.Languages.Chinese
- 您將在控制台中看到庫的安裝進度。 它會自動安裝庫。 安裝完成後,我們的專案就可以使用IronOCR庫了。
程式碼範例:中文OCR
現在,是時候編寫實作IronOCR函式庫以支援中文識別的程式碼了。 首先,我們需要開發用於選擇影像檔案的前端介面。讓我們來看看該如何實現。
前端開發
我們將使用"工具箱"元素來設計正面。 我們將建立一個按鈕、一個圖片框、一個富文本框和兩個標籤。 我們將從工具箱中拖曳這些元素,並將它們放置在視窗窗體中。 我們將妥善處理這些要素。
此按鈕用於從電腦中選擇圖像檔案。 圖片框將載入選定的圖像文件,富文本框將顯示輸出文字。 您可以根據需要調整每個元素的大小。 最終的前端設計將如下所示:
運行專案時會彈出此視窗。 我們已將視窗對齊方式設定為在螢幕中央顯示。 所以,這個螢幕會出現在螢幕中央。
我們的前端已經準備就緒。 接下來,該為按鈕新增後端功能了。
IronOCR的後端代碼
我們必須先導入IronOCR命名空間才能在程式碼中使用它。 在文件頂部寫入以下行:
using IronOCR;
using IronOCR;
Imports IronOCR
我們將使用"選擇圖像"按鈕來選擇圖像並將圖像載入到圖片框中。 IronOCR將處理簡體中文文字影像,並在富文本框中顯示輸出文字。 讓我們透過雙擊按鈕來新增按鈕的功能。 編寫以下程式碼以實現所述功能:
private void btn_image_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
// display image in picture box
img_image.Image = new Bitmap(open.FileName);
var Ocr = new IronTesseract();
赭石。Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
var Result = 赭石。Read(Input);
txt_output.Text = Result.Text;
}
}
}
private void btn_image_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
if (open.ShowDialog() == DialogResult.OK)
{
// display image in picture box
img_image.Image = new Bitmap(open.FileName);
var Ocr = new IronTesseract();
赭石。Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
var Result = 赭石。Read(Input);
txt_output.Text = Result.Text;
}
}
}
Private Sub btn_image_Click(sender As Object, e As EventArgs)
Dim open As New OpenFileDialog()
If open.ShowDialog() = DialogResult.OK Then
' display image in picture box
img_image.Image = New Bitmap(open.FileName)
Dim Ocr As New IronTesseract()
Ocr.Language = OcrLanguage.ChineseTraditional
Using Input As New OcrInput(open.FileName)
Dim Result = Ocr.Read(Input)
txt_output.Text = Result.Text
End Using
End If
End Sub
當使用者點擊按鈕時,將出現一個對話方塊供使用者選擇圖像。 當使用者選擇圖片時,圖片將自動載入到圖片框中。 我們使用Bitmap() 函數在圖片框中列印影像。 之後, IronOCR會將圖像轉換為中文文字。 我們設定了 OCR。 Language to ChineseTraditional 辨識繁體中文文字。 赭石。 讀取函數將讀取進程並將 OCR 結果儲存在 Result 變數中。 如果您需要將文字儲存為 PDF、文字或 HTML 格式,您可以使用 SaveAs 功能將檔案儲存為您想要的任何輸出格式 — IronOCR支援多種輸出格式。
運行專案
現在是時候運行專案了。 在 Visual Studio 中按一下"執行"按鈕。 我們將在螢幕上看到這個畫面。
點選"選擇圖像"按鈕。 它將打開"選擇檔案"對話框。 選擇影像檔案並按下回車鍵。
它會將圖片載入到圖片框中,自動掃描圖像,並在文字方塊中顯示輸出結果。
這是我們選擇的圖像的輸出結果。 IronOCR也支援讀取和掃描 PDF 檔案。 我們可以使用可編輯的 PDF 檔案格式,透過IronOCR進行掃描和識別文字。 這也可以用不同的語言來完成。 IronOCR可以將現有的 PDF 文件轉換為可搜尋的 PDF。 IronOCR擁有多種影像濾鏡,讓影像清晰易懂。 以下是篩選條件:
- 輸入.二進位化()
- 輸入.對比()
- 輸入.桌面傾斜() 輸入.DeNoise() 輸入.Dilate()
- 輸入.增強解析度(300)
所有這些功能都能提高字元的可見性。 IronOCR使用這些功能來清除 PDF 並產生可搜尋的 PDF。 讓我們來看看如何實現這一點:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf")
// clean up twisted pages
Input.Deskew();
var Result = 赭石。Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf")
// clean up twisted pages
Input.Deskew();
var Result = 赭石。Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Dim Ocr As New IronTesseract()
Using Input As New OcrInput()
Input.AddPdf("scan.pdf")
' clean up twisted pages
Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
授權
IronOCR可免費用於開發。 您可以免費使用其所有功能。 IronOCR還提供免費試用版,無需支付任何費用即可進行生產。 Iron Software目前還提供一項熱門優惠——五款軟體產品套裝,只需兩款的價格即可購買。 只需一次支付兩款軟體產品的費用,即可獲得包括IronPDF和IronXL在內的全部五款產品。 您可以透過此連結了解更多關於許可方面的資訊。

