跳至頁尾內容
使用 IRONOCR

如何使用 C# 從螢幕截圖中提取文本

很多人可能想知道"什麼是OCR螢幕截圖?"其他人可能想知道如何將任何文字的螢幕截圖轉換為可編輯的數位文字格式,或轉換為.txt或.doc格式。 如果您屬於這類人群,那麼請不要再擔心了,因為我們為您提供了完美的解決方案。

在本文中,我們將討論可用於對螢幕截圖執行 OCR(光學字元辨識)的不同工具。

市面上有許多OCR工具,但今天我們將使用IronOCR從螢幕截圖中提取文字。

1. IronOCR

IronOCR 是一個適用於 C# 和 VB.NET 程式語言的軟體庫,旨在使開發人員能夠在其應用程式中添加 OCR(光學字元辨識)功能。 該庫可用於識別圖像中的文字並將其轉換為機器可讀文字。 該庫基於 Tesseract OCR 引擎構建,該引擎被認為是目前最精確的 OCR 引擎之一。

IronOCR 可用於讀取多種不同檔案格式的影像中的文本,包括 PNG、JPG、TIFF 和 PDF。 它還提供了一系列用於文字識別的高級功能,例如識別多種語言,以及識別旋轉或傾斜圖像中的文字。 此外,開發人員可以使用 IronOCR 快速將 OCR 功能整合到他們的應用程式中,因為它提供了一個簡單易用的 API,可以從 C# 或 VB.NET 程式碼中呼叫。 使用 IronOCR,您可以選擇 OCR 語言,並對影像、數位 PDF 檔案和掃描的 PDF 檔案執行 OCR。

對於想要在應用程式中添加 OCR 功能的開發人員來說,IronOCR 被認為是一個不錯的選擇。 它是開源的,易於使用和集成,速度快,準確,並且採用最新的 OCR 技術。

2. IronOCR 特點

IronOCR 提供多種功能,幫助開發人員將 OCR 功能整合到他們的應用程式中。 IronOCR 的一些主要功能包括:

1.多語言支援:IronOCR 可以識別 60 多種語言的文本,包括英語、西班牙語、德語、法語、義大利語和中文。 2.自動偵測文字方向:IronOCR 可以自動偵測影像中文字的方向,即使影像已經旋轉或傾斜。 3.支援多種圖像格式: IronOCR 可以讀取多種不同文件格式的圖像中的文本,包括 PNG、JPG、 TIFFPDF 。 4.可自訂的識別設置:開發者可以自訂識別設置,以提高特定類型圖像或使用場景的識別準確率。

  1. 能夠辨識掃描文件和多頁 PDF 中的文字。 6.辨識速度快,準確率高: IronOCR 使用 Tesseract OCR 引擎,這是目前最準確、應用最廣泛的 OCR 引擎之一。 7.易於使用的 API: IronOCR 提供了一個簡單易用的 API,可以從 C# 或 VB.NET 程式碼中調用,這使得將 OCR 功能整合到任何應用程式中變得容易。

總的來說,IronOCR 是一款功能強大的工具,它提供了一系列功能,可以幫助開發人員將 OCR 功能添加到他們的應用程式中。

3. 在 Visual Studio 中建立新項目

開啟 Visual Studio,然後前往"檔案"選單。 選擇"新建專案",然後選擇"控制台應用程式"。

在對應的文字方塊中輸入項目名稱並選擇路徑。 然後,點擊"創建"按鈕。 選擇所需的 .NET Framework 版本,如下圖所示:

如何在 C# 中使用 OCR 從螢幕截圖中提取文本,圖 1:在 Visual Studio 中建立新項目 在 Visual Studio 中建立新項目

Visual Studio 專案現在將產生控制台應用程式的結構。 完成後,它將打開program.cs文件,您可以在其中編寫和執行原始程式碼。

如何在 C# 中使用 OCR 從螢幕截圖中提取文本,圖 2:program.cs 文件,由 Visual Studio 的新建專案精靈生成 program.cs 檔案是由 Visual Studio 的"新專案精靈"產生的。

現在我們可以新增 IronOCR 庫並測試程式了。

4. 安裝 IronOCR

在 Visual Studio 中,您可以輕鬆地將 IronOCR 整合到您的 C# 專案中。

IronOCR 提供多種流程,可與 C# .NET 專案整合。 在這裡,我們將討論其中一種方法:使用 NuGet 套件管理器安裝 IronOCR。

在 Visual Studio 中,前往"工具" > "NuGet 套件管理器" > "套件管理器控制台"。

如何在 C# 中使用 OCR 從螢幕截圖中提取文本,圖 3:NuGet 套件管理器 UI NuGet 套件管理器使用者介面

點擊後,Visual Studio 視窗底部將出現一個新的控制台。 在控制台中輸入以下命令並按下回車鍵。

Install-Package IronOcr

IronOCR只需幾秒鐘即可安裝完成。

5. 使用 IronOCR 對螢幕截圖進行 OCR 識別

IronOCR 是一個功能強大的 OCR 庫,可用於識別螢幕截圖中的文字。 使用 IronOCR,您可以截取文字的螢幕截圖,然後使用圖書館的 OCR 功能將螢幕截圖中的文字轉換為可編輯的數位格式。 以下是如何使用 IronOCR 在 C# 中對螢幕截圖執行 OCR 的範例。 要執行螢幕截圖 OCR,只需捕獲螢幕截圖並運行以下程式碼即可將文字提取為您想要的任何輸出格式。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        // Create an instance of IronTesseract, the core OCR engine
        var ocr = new IronTesseract();

        // Perform OCR on the specified image file
        var result = ocr.Read("ocr.png");

        // Output the recognized text to the console
        Console.WriteLine(result.Text);
    }
}
$vbLabelText   $csharpLabel

輸入影像檔案

如何在 C# 中使用 OCR 從螢幕截圖中提取文本,圖 4:用於輸入的範例螢幕截圖 輸入範例螢幕截圖

文字輸出

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs
- Output as text, structured data, or searchable PDFs
- Supports NET 6, 5, Core, Standard, Framework

6. 使用 IronOCR 對特定區域進行 OCR 檢測

IronOCR 可讓您對影像中的特定區域執行 OCR 辨識。 當圖像包含多個文字區域,而你只想識別特定區域內的文字時,這會很有用。 下面展示了一個範例程式碼。

using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
using IronOcr;
using IronSoftware.Drawing;
using System;

class Program
{
    static void Main()
    {
        var ocrTesseract = new IronTesseract();

        using (var ocrInput = new OcrInput())
        {
            // Define the rectangle to crop the image for OCR
            var contentArea = new CropRectangle(x: 0, y: 0, width: 350, height: 150);

            // Add the image with the specified cropping area
            ocrInput.AddImage("ocr.png", contentArea);

            // Perform the OCR operation on the defined area
            var ocrResult = ocrTesseract.Read(ocrInput);

            // Output the recognized text
            Console.WriteLine(ocrResult.Text);
        }
    }
}
$vbLabelText   $csharpLabel

輸出

- IRONOCR for NET
- The C# OCR Library
- OCR for C# to scan and read images & PDFs
- NET OCR library with 125+ global language packs

7. 使用 IronOCR 對影像進行 OCR 識別

若要對影像執行 OCR 並將識別出的文字儲存到 .txt 檔案中,可以使用下列程式碼。

using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
using IronOcr;
using System;

class Program
{
    static void Main()
    {
        var ocr = new IronTesseract();
        using (var input = new OcrInput("ocr.png"))
        {
            // Perform OCR on the image
            var result = ocr.Read(input);

            // Save the recognized text to a .txt file
            result.SaveAsTextFile("output.txt");
        }
    }
}
$vbLabelText   $csharpLabel

輸出文件的內容如下所示:

如何在 C# 中使用 OCR 從螢幕截圖中提取文本,圖 5:生成的 output.txt 檔案的內容 產生的 output.txt 檔案的內容

8. 了解更多

請閱讀圖像文字擷取教程,以了解有關如何對圖像執行 OCR 的更多資訊。

IronOCR 是一套包含五個 .NET 庫的套件的一部分,旨在處理不同類型的文件。 您只需支付兩份許可證的價格,即可購買全部五個庫。

常見問題解答

如何使用 C# 中的 OCR 技術從螢幕截圖中提取文字?

您可以使用 C# 中的 IronOCR 從螢幕截圖中提取文字。它利用 IronOCR 簡潔的 API 將螢幕截圖轉換為可編輯的數位文字格式。首先,在 Visual Studio 中透過 NuGet 安裝 IronOCR,然後使用 IronOCR 提供的程式碼範例對螢幕截圖進行 OCR 辨識。

什麼是光學字元辨識(OCR)?

光學字元辨識 (OCR) 是一種將不同類型的文件(例如掃描的紙本文件、PDF 文件或數位相機拍攝的影像)轉換為可編輯和可搜尋資料的技術。 IronOCR 是一個 C# 函式庫,可簡化應用程式中的 OCR 功能。

IronOCR 能否處理多種語言的 OCR 辨識?

是的,IronOCR支援60多種語言的文本識別,使其適用於國際應用。它還提供語言偏好設定選項,以確保文字提取的準確性。

IronOCR 支援哪些影像格式進行 OCR 辨識?

IronOCR支援多種OCR影像格式,包括PNG、JPG、TIFF和PDF。這種靈活性使開發人員能夠處理各種影像來源,而無需手動轉換格式。

文字方向如何影響OCR辨識準確率?

文字方向會極大地影響OCR辨識的準確性。 IronOCR能夠自動偵測並校正影像中的文字方向,確保旋轉或傾斜的文字也能被準確辨識並轉換為數位格式。

如何在 C# 專案中安裝 IronOCR?

若要在 C# 專案中安裝 IronOCR,請使用 Visual Studio 中的 NuGet 套件管理器。搜尋 IronOCR 並將其安裝到您的專案中,即可開始使用其 OCR 功能從圖像中提取文字。

使用 IronOCR 進行文字辨識有哪些優點?

IronOCR 具有多項優勢,包括強大的多語言支援、自動文字方向校正、支援多種影像格式以及可自訂設定以提高識別準確率。其簡潔的 API 便於輕鬆整合到 C# 應用程式中。

IronOCR 是否適用於辨識影像特定區域中的文字?

是的,IronOCR允許開發者在圖像中定義特定區域進行OCR識別,從而實現有針對性的文字擷取。此功能適用於圖像中只有一部分包含相關文字的情況。

解決OCR問題有哪些常見的故障排除技巧?

針對 OCR 問題的常見故障排除技巧包括確保影像清晰且解析度高,檢查文字方向,確保設定了正確的語言,以及更新至最新版本的 IronOCR 以獲得最佳效能。

如何將OCR識別結果轉換為.txt或.doc檔案?

使用 IronOCR,您可以將 OCR 結果轉換為 .txt 或 .doc 文件,方法是從圖像中提取文本,並使用 C# 中的標準文件 I/O 操作將其保存。這樣,您就可以從基於圖像的文字建立可編輯文件。

坎納奧帕特·烏東潘特
軟體工程師
在成為軟體工程師之前,Kannapat 在日本北海道大學完成了環境資源專業的博士學位。在攻讀博士學位期間,他還加入了生物生產工程系下屬的車輛機器人實驗室。 2022 年,他憑藉 C# 技能加入了 Iron Software 的工程團隊,專注於 IronPDF 的開發。 Kannapat 非常珍惜這份工作,因為他可以直接向 IronPDF 大部分程式碼的編寫者學習。除了與同事學習之外,Kannapat 也享受在 Iron Software 工作的社交氛圍。工作之餘,Kannapat 通常會玩 PS5 遊戲或重溫《最後生還者》。