跳過到頁腳內容
使用 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);
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		' Create an instance of IronTesseract, the core OCR engine
		Dim ocr = New IronTesseract()

		' Perform OCR on the specified image file
		Dim result = ocr.Read("ocr.png")

		' Output the recognized text to the console
		Console.WriteLine(result.Text)
	End Sub
End Class
$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);
        }
    }
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocrTesseract = New IronTesseract()

		Using ocrInput As New OcrInput()
			' Define the rectangle to crop the image for OCR
			Dim 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
			Dim ocrResult = ocrTesseract.Read(ocrInput)

			' Output the recognized text
			Console.WriteLine(ocrResult.Text)
		End Using
	End Sub
End Class
$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");
        }
    }
}
Imports IronOcr
Imports System

Friend Class Program
	Shared Sub Main()
		Dim ocr = New IronTesseract()
		Using input = New OcrInput("ocr.png")
			' Perform OCR on the image
			Dim result = ocr.Read(input)

			' Save the recognized text to a .txt file
			result.SaveAsTextFile("output.txt")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

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

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

8. 了解更多

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

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

常見問題解答

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

您可以在 C# 中使用 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 Package Manager。搜索 IronOCR 並將其安裝到您的專案中,即可開始使用其 OCR 功能從影像中提取文字。

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

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

IronOCR 是否適合識別影像特定區域中的文字?

是的,IronOCR 允許開發人員在影像中定義執行 OCR 的特定區域,實現有針對性的文字擷取。此功能適用於只有部分影像包含相關文字的情況。

OCR 問題的常見疑難排解技巧有哪些?

OCR 問題的常見疑難排解技巧包括:確保影像清晰且具有高解析度、檢查文字方向、確保語言設定正確,以及更新至 IronOcr 的最新版本以獲得最佳效能。

如何將 OCR 結果轉換成 .txt 或 .doc 檔案?

使用 IronOCR,您可以將 OCR 結果轉換成 .txt 或 .doc 檔案,方法是從影像中萃取文字,並使用 C# 的標準檔案 I/O 作業儲存。這可讓您從影像文字中建立可編輯的文件。

Kannaopat Udonpant
軟體工程師
在成為软件工程師之前,Kannapat 從日本北海道大學完成了環境資源博士學位。在追逐學位期间,Kannapat 還成為了生產工程系一部份——汽車机器人实验室的成員。2022 年,他利用他的 C# 技能加入 Iron Software 的工程團隊, 專注於 IronPDF。Kannapat 珍惜他的工作,因为他直接向编写大部分 IronPDF 使用的代码的开发者学习。除了同行学习,Kannapat 还喜欢在 Iron Software 工作的社交十环。当他不编写代码或文档时,Kannapat 通常在他的 PS5 上打游戏或重看《The Last of Us》。