Chinese OCR in C# and .NET

This article was translated from English: Does it need improvement?
Translated
View the article in English

本文件的其他版本:

IronOCR 是一款 C# 軟體元件,讓 .NET 開發人員能夠從 126 種語言(包括中文)的圖片和 PDF 文件中讀取文字。 此中文語言套件同時包含簡體中文與繁體中文。

這是 Tesseract 的進階分支版本,專為 .NET 開發者打造,無論在速度或準確度方面,其表現通常都優於其他 Tesseract 引擎。 此函式庫可識別多種語言(包括中文)的圖片及各種格式的文件。 它支援超過 125 種語言,且相較於競爭對手,提供極高的辨識準確度。 IronOCR 的 API 在設計時已將可擴展性與客製化納入考量。 您可以透過在追蹤器中添加您的調校資料或功能,協助 IronOCR 實現高吞吐量與高準確度。 IronOCR 採用多種光學字元辨識技術。 我們可以在 Windows 電腦、Linux、macOS 及其他知名平台上使用它。

IronOcr.Languages.Chinese 內容

此套件包含 352 種適用於 .NET 的 OCR 語言:

  • 簡體中文
  • 簡體中文最佳
  • 簡體中文快速
  • 簡體中文(縱向)
  • 簡體中文 垂直排版 最佳
  • 簡體中文 垂直排版 快速
  • 繁體中文
  • 繁體中文Best
  • 繁體中文 (快速)
  • 繁體中文(縱向)
  • 繁體中文(縱向排版)最佳
  • 繁體中文(縱向快速)

下載

我們可從以下連結下載中文語言套件 [中文 (Zhōngwén)]:

using IronOCR 進行中文翻譯

建立或開啟 C# 專案

要開始使用 IronOCR,我們必須建立一個 C# .NET 專案。 我們將使用 Visual Studio 2022 進行此項工作。 您可以根據需求選擇合適的版本。 建議使用最新版本的 Visual Studio 以獲得流暢的使用體驗。 我們將建立一個圖形使用者介面(GUI)來選取圖片。 我們也可以在主控台應用程式中使用 IronOCR,方法是直接提供圖片的路徑。 請依照以下步驟在 Visual Studio 2022 中建立 C# 專案:

  • 開啟 Visual Studio 2022。
  • 點擊"建立新專案"按鈕。
Chinese Ocr 1 related to 建立或開啟 C# 專案
  • 在搜尋欄中輸入"Windows",從搜尋結果中選取"Windows Form"應用程式,然後點擊"下一步"按鈕。
Chinese Ocr 2 related to 建立或開啟 C# 專案
  • 為專案命名。 我將此專案命名為"ChineseOCR"。 在名稱後,請點擊"下一步"按鈕。
Chinese Ocr 3 related to 建立或開啟 C# 專案
  • 在下一畫面中選取 .NET Framework。 請根據您的專案需求選擇合適的 .NET Framework。 本教學將選用 .NET 5.0 版本。
Chinese Ocr 4 related to 建立或開啟 C# 專案
  • 選取後,請點擊"建立"按鈕。 它將能輕鬆地在 Visual Studio 中建立 C# Windows Form 專案。

該專案已建立,現已可在 IronOCR程式庫中使用。 我們亦可沿用現有的 C# 專案。 開啟專案並開始安裝 IronOCR程式庫。 以下章節將探討在 C# 專案中安裝 IronOCR程式庫的方法。

安裝

使用 NuGet 套件管理員

若要透過 NuGet 套件管理員安裝 IronOCR程式庫,我們必須開啟 NuGet 套件管理員介面。 請依照以下步驟安裝 IronOCR程式庫:

  • 點擊主選單中的"工具",在下拉式選單中將游標懸停於"NuGet 套件管理員",然後選取"管理解決方案的 NuGet 套件管理員"。
Chinese Ocr 5 related to 使用 NuGet 套件管理員
  • 此操作將開啟 NuGet 套件管理員介面。 前往"瀏覽"分頁,搜尋 IronOCR Chinese。 從搜尋結果中選擇合適的套件,並點擊"安裝"按鈕進行安裝。
Chinese Ocr 6 related to 使用 NuGet 套件管理員
  • 將開始安裝該函式庫。 安裝完成後,您即可在專案中使用 IronOCR程式庫。

使用套件管理主控台

使用控制台始終是一個簡單的选择。 我們也可以透過套件管理主控台安裝 IronOCR程式庫。 請依照以下步驟安裝 IronOCR 程式庫:

  • 在 Visual Studio 中開啟套件管理員主控台。 它通常位於 Visual Studio 的底部。
  • 在控制台輸入以下指令:

    Install-Package IronOcr.Languages.Chinese
  • 您將在控制台中看到函式庫的安裝進度。 它將自動安裝該函式庫。 安裝完成後,我們的專案即可使用 IronOCR程式庫。

程式碼範例:中文 OCR

現在,是時候編寫實作 IronOCR 中文語言版本的程式碼了。 首先,我們必須開發用於選取圖像檔案的前端介面。讓我們來看看該如何實現。

前端開發

我們將使用"工具箱"元素來設計前端介面。 我們將建立一個按鈕、一個圖片方塊、一個富文字方塊以及兩個標籤。 我們將從工具箱中拖放這些元素,並將其放置於Windows表單中。 我們將在行文風格上妥善處理這些要素。

此按鈕將用於從電腦中選取圖片檔案。 圖片方塊將載入選定的圖片檔案,而富文本方塊則會顯示輸出文字。 您可以根據需求調整每個元素的大小。 最終的前端設計將呈現如下樣貌:

Chinese Ocr 7 related to 前端開發

執行專案時,此視窗將會彈出。 我們已將Windows的對齊方式設定為置於螢幕中央。 因此,此畫面將顯示於中央。

我們的前端部分已準備就緒。 接下來,是時候為按鈕新增後端功能了。

IronOCR 的後端程式碼

我們必須先導入 IronOCR 命名空間,才能在程式碼中使用它。 請在檔案頂端寫下以下內容:

using IronOCR;
using IronOCR;
Imports IronOCR
$vbLabelText   $csharpLabel

我們將使用"選取圖片"按鈕來選取圖片,並將圖片載入至圖片方塊中。 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(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 = 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
$vbLabelText   $csharpLabel

當使用者點擊按鈕時,將出現一個對話方塊以供選取圖片。 當使用者選取圖片時,系統會自動將其載入至圖片方塊中。 我們使用 Bitmap() 函式在圖片框中列印圖片。 隨後,IronOCR 將把圖片轉換為中文文字。 我們設定了 OCR。 語言設定為"繁體中文",以識別繁體中文文字。 OCR. read 函式將讀取該程序,並將 OCR 結果儲存至 Result 變數中。 若需將文字儲存為 PDF、純文字或 HTML 格式,請使用 SaveAs 功能將檔案儲存為您所需的任何輸出格式 — IronOCR 支援多種輸出格式。

執行專案

現在是時候執行這個專案了。 在 Visual Studio 中按一下"執行"按鈕。 我們將在螢幕上看到這個畫面。

Chinese Ocr 8 related to 執行專案

請點擊"選擇圖片"按鈕。 這將開啟"選取檔案"對話方塊。 選擇一個圖像檔案並按下 Enter 鍵。

Chinese Ocr 9 related to 執行專案

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

Chinese Ocr 10 related to 執行專案

這是我們選取的圖片中的內容。 IronOCR 亦支援 PDF 檔案的讀取與掃描。 我們可以利用 PDF 檔案的可編輯格式,透過 IronOCR 進行掃描與文字辨識。 此服務亦可提供多種語言版本。 IronOCR 可將現有的 PDF 文件轉為可搜尋的 PDF。 IronOCR 提供多種影像濾鏡,讓影像更清晰易讀且易於理解。 以下是篩選條件:

  • Input.Binarize()
  • Input.Co/ntrast()
  • Input.Deskew()
  • 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

Dim Ocr = New IronTesseract()
Using Input = New OcrInput()
    Input.AddPdf("scan.pdf")
    ' clean up twisted pages
    Input.Deskew()
    Dim Result = Ocr.Read(Input)
    Result.SaveAsSearchablePdf("searchable.pdf")
End Using
$vbLabelText   $csharpLabel

授權

IronOCR 提供免費開發版本。 您可以免費盡情使用其所有功能。 IronOCR 亦提供無需付費的生產環境免費試用。 Iron Software 目前亦推出熱門優惠活動——只需支付兩款軟體的價格,即可獲得五款軟體產品的套裝組合。 只需一次性支付兩款軟體產品的費用,即可獲得全部五款產品,包括 IronPDF 和 IronXL。 您可透過此連結查閱更多關於授權的資訊。