C#和.NET 中的中文 OCR
此文件的其他版本:
IronOCR 是一個 C# 軟體組件,允許 .NET 程式設計師從圖像和 PDF 文檔中讀取 126 種語言的文本,包括中文。 中文語言包包含了簡體中文和繁體中文字符。
它是 Tesseract 的高級分支,專為 .NET 開發者設計,無論是速度還是準確性都經常超越其他 Tesseract 引擎。 該庫允許識別不同格式的圖片和文件,包括中文。 它支持超過125種語言,並且與競爭對手相比提供了高水準的識別準確性。 IronOCR 的 API 設計考慮到了擴展性和可定制性。 您可以通過將您的調校數據或功能添加到跟踪器中,幫助IronOCR實現高吞吐量和準確性。 IronOCR 使用多種光學字符識別技術。 我們可以在Windows PC、Linux、macOS和其他著名平台上使用它。
IronOcr.Languages.Chinese
此套件包含 352 種 OCR 語言適用於 .NET:
- ChineseSimplified
- ChineseSimplifiedBest
-
ChineseSimplifiedFast
ChineseSimplifiedVertical
-
ChineseSimplifiedVerticalBest
ChineseSimplifiedVerticalFast
- 中文繁體
- ChineseTraditionalBest
-
ChineseTraditionalFast
ChineseTraditionalVertical
- ChineseTraditionalVerticalBest
- ChineseTraditionalVerticalFast
下載
我們可以下載中文語言包。[中文(中文)]從以下連結:
使用 IronOCR 處理中文語言
建立或開啟一個 C# 專案
要開始使用IronOCR,我們需要建立一個C# .NET項目。 我們正在使用 Visual Studio 2022 來進行這項工作。 您可以根據您的需求選擇版本。 建議使用最新版本的 Visual Studio 以獲得流暢的使用體驗。 我們將創建一個 GUI 介面來選擇圖像。 我們也可以在控制台應用程序中使用IronOCR,方法是提供圖片的直接路徑。 按照以下步驟在 Visual Studio 2022 中建立一個 C# 專案:
- 打開 Visual Studio 2022。
-
按下「建立新專案」按鈕。
-
在搜尋欄中輸入「Windows」,從搜尋結果中選擇「Windows Form」應用程式,然後點擊「下一步」按鈕。
-
給專案取一個名字。 我將此項目命名為“ChineseOCR”。 在名稱後,點擊“下一步”按鈕。
-
在下一個畫面中選擇 .NET framework。 根據您的項目需求選擇 .NET 框架。 我們在本教程中選擇了 .NET 5.0 版本。
-
選擇後,點擊「創建」按鈕。 它將輕鬆在 Visual Studio 中創建 C# Windows Form 項目。
該項目已創建,現在可以在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庫編寫代碼了。 首先,我們必須開發用於選擇圖像文件的前端。讓我們看看如何做到這一點。
開發前端
我们将使用“工具箱”元素来设计前端。 我們將創建一個按鈕、一個圖片框、一個富文本框和兩個標籤。 我們將從工具箱拖放這些元素,並將它們放置在窗體中。 我們將以風格管理這些元素。
按鈕將用於從電腦選擇圖片文件。 PictureBox 將載入所選的圖片文件,而 Rich Textbox 將顯示輸出文字。 您可以根據您的需求調整每個元素的大小。 最終的前端設計將如此展現:

當您執行專案時,此視窗將彈出。 我們已將窗口的對齊設置為屏幕中心。 所以,這個畫面將會顯示在中央。
我們的前端已經準備好了。 接下來,該為按鈕添加後端功能了。
後端代碼適用於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();
Ocr.Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
var Result = Ocr.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();
Ocr.Language = OcrLanguage.ChineseTraditional;
using (var Input = new OcrInput(open.FileName))
{
var Result = Ocr.Read(Input);
txt_output.Text = Result.Text;
}
}
}
Private Sub btn_image_Click(ByVal sender As Object, ByVal 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 = New IronTesseract()
Ocr.Language = OcrLanguage.ChineseTraditional
Using Input = New OcrInput(open.FileName)
Dim Result = Ocr.Read(Input)
txt_output.Text = Result.Text
End Using
End If
End Sub
當用戶點擊按鈕時,將出現一個對話框來選擇圖片。 當使用者選擇圖像時,它將自動加載到圖片框中。 我们使用Bitmap来处理图像数据,在许多应用程序中这是非常关键的一部分。()**用於在圖片框中打印圖像。 之後,IronOCR 將圖像轉換成中文文字。 我們設定了 Ocr。 將語言設定為ChineseTraditional來識別繁體中文字。 Ocr. read 函式將讀取過程並將 OCR 結果儲存在 Result 變數中。 如果您需要將文本保存為PDF、文本或HTML格式,您將使用SaveAs功能將文件保存為您想要的任何輸出格式 — IronOCR支持多種輸出格式。
執行專案
現在該執行專案了。 在 Visual Studio 中點擊“運行”按鈕。 我們將在我們的屏幕上看到這個畫面。

點擊“選擇圖片”按鈕。 它將打開“選擇檔案”對話框。 選擇一個圖片檔案並按下 Enter 鍵。

它會將其載入圖片框,自動掃描圖像,並在文字框中顯示輸出。

這是我們選擇的圖片輸出結果。 IronOCR 也支持讀取和掃描 PDF 文件。 我們可以使用 IronOCR 掃描和識別 PDF 文件的可編輯格式中的文字。 這也可以用不同的語言來完成。 IronOCR 可以將現有的 PDF 文件轉化為可搜索的 PDF。 IronOCR擁有許多圖像過濾器,可使圖像清晰易懂。 以下是過濾器:
- Input.Binarize()
- Input.Contrast()
- Input.糾偏()
- Input.DeNoise()
- Input.Dilate()
-
Input.EnhanceResolution(300)
所有這些功能都增加了字符的可見性。 IronOCR 使用這些功能來清除並製作可搜尋的 PDF。 讓我們來看看如何做到這一點:
using IronOcr;
var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
Input.AddPdf("scan.pdf")
// clean up twisted pages
Input.Deskew();
var Result = Ocr.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 = Ocr.Read(Input);
Result.SaveAsSearchablePdf("searchable.pdf");
}
Imports IronOcr
Private Ocr = New IronTesseract()
Using Input = New OcrInput()
Input.AddPdf("scan.pdf") Input.Deskew()
Dim Result = Ocr.Read(Input)
Result.SaveAsSearchablePdf("searchable.pdf")
End Using
授權
IronOCR 在開發階段是免費的。 您可以免费积极使用其所有功能。 IronOCR還提供了一個 免費試用 免費用於生產。 Iron Software 目前還提供一個受歡迎的交易 — 只需兩個產品的價格就可以獲得五個軟件產品的套裝。 只需一次性支付兩個軟體產品的費用,您就可以獲得包括IronPDF和IronXL在內的全部五個產品。 您可以從這裡找到更多資訊。 連結 關於授權。