如何在 C# 中創建 OCR 軟體演示
光學字元辨識 (OCR) 是一種將各種文件格式(包括掃描的紙本文件、PDF、數位檔案或用數位相機拍攝的列印文字影像)轉換為可編輯和可搜尋的機器編碼文字資料的技術。
IronOCR是優秀的 OCR 引擎庫,為開發者提供強大的 OCR 功能。 本文將探討如何使用 IronOCR 執行 OCR,並透過OCR 軟體演示提供程式碼範例。
什麼是IronOCR?
IronOCR 是一個功能強大的 .NET 程式庫,旨在促進 C# 和 VB.NET 應用程式中的光學字元辨識 (OCR)。 IronOCR 利用先進的演算法和機器學習技術,可以準確地從掃描的 PDF 文件、圖像和 PDF 中提取文字和內容,從而更容易以程式設計方式處理、搜尋和分析此類文件。
憑藉其簡單易用的 API 和豐富的功能,開發人員可以無縫地將 OCR 功能整合到他們的應用程式中,以自動執行資料提取、文件處理、資料輸入和內容管理任務。 無論您是在處理業務、發票、報告、自動資料提取、可搜尋的 PDF 或任何其他富含文字的文檔,IronOCR 都能提供可靠的解決方案,高效地處理 OCR 需求。
IronOCR入門指南
在深入了解程式碼範例之前,您需要透過 NuGet 套件管理器安裝 IronOCR 。 您可以透過在軟體包管理器控制台中執行以下命令來安裝 IronOCR:
Install-Package IronOcr
使用 IronOCR 進行 OCR 識別
基礎文字識別
若要使用 IronOCR 執行基本文字識別,您可以使用以下程式碼片段:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput("ocr.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
string recognizedText = ocrResult.Text;
Console.WriteLine(recognizedText);
}
}
}
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using (var ocrInput = new OcrInput("ocr.png"))
{
var ocrResult = ocrTesseract.Read(ocrInput);
string recognizedText = ocrResult.Text;
Console.WriteLine(recognizedText);
}
}
}
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
Using ocrInput As New OcrInput("ocr.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Dim recognizedText As String = ocrResult.Text
Console.WriteLine(recognizedText)
End Using
End Sub
End Class
這段程式碼使用 IronOCR 對名為"ocr.png"的影像檔案執行光學字元辨識 (OCR)。 它初始化一個 IronTesseract 對象,並將圖像檔案的文字層讀取到 OcrInput 物件中。
然後檢索 OCR 結果,並將其列印到控制台,格式為 recognizedText。
輸出
- LOGO SHOP
- LOREM IPSUM
- DOLOR SITAMET CONSECTETUR
- ADIPISCING ELIT
- 1 LOREM IPSUM $3.20
- 2 ORNARE MALESUADA $9.50
- 3 PORTA FERMENTUM $5.90
- 4 SODALES ARCU $6.00
- 5 ELEIFEND $9.00
- 6 SEMNISIMASSA $0.50
- 7 DUIS FAMES DIS $7.60
- 8 FACILISIRISUS $810
- TOTAL AMOUNT $49.80
- CASH $50.00
進階 OCR 選項
IronOCR 提供多種選項,讓您可以根據影像檔案和要求自訂 OCR 流程。 例如,您可以指定 OCR 語言、調整影像預處理設定或啟用文字清理。 以下範例示範了其中一些進階選項:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocr = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
// Set OCR language to English
ocr.Language = OcrLanguage.English;
// Enable text cleaning and enhance the resolution
ocrInput.DeNoise();
ocrInput.EnhanceResolution(225);
var result = ocr.Read(ocrInput);
if (!string.IsNullOrEmpty(result.Text))
{
Console.WriteLine($"Recognized Text: {result.Text}");
}
}
}
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocr = new IronTesseract();
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\image.png");
// Set OCR language to English
ocr.Language = OcrLanguage.English;
// Enable text cleaning and enhance the resolution
ocrInput.DeNoise();
ocrInput.EnhanceResolution(225);
var result = ocr.Read(ocrInput);
if (!string.IsNullOrEmpty(result.Text))
{
Console.WriteLine($"Recognized Text: {result.Text}");
}
}
}
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocr = New IronTesseract()
Dim ocrInput As New OcrInput()
ocrInput.LoadImage("images\image.png")
' Set OCR language to English
ocr.Language = OcrLanguage.English
' Enable text cleaning and enhance the resolution
ocrInput.DeNoise()
ocrInput.EnhanceResolution(225)
Dim result = ocr.Read(ocrInput)
If Not String.IsNullOrEmpty(result.Text) Then
Console.WriteLine($"Recognized Text: {result.Text}")
End If
End Sub
End Class
此程式碼使用 IronOCR 對位於"images"資料夾中的映像檔"image.png"執行 OCR 操作。 它將 OCR 語言設定為英語,清除影像雜訊,並提高影像解析度。 從圖像中辨識出的文字被提取出來,然後列印到控制台。
條碼讀取
IronOCR 還支援條碼讀取,讓您可以開發軟體從影像中提取條碼資訊。 以下是一個使用 IronOCR 讀取條碼的程式碼範例:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\imageWithBarcode.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
}
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
ocrTesseract.Configuration.ReadBarCodes = true;
using var ocrInput = new OcrInput();
ocrInput.LoadImage(@"images\imageWithBarcode.png");
var ocrResult = ocrTesseract.Read(ocrInput);
foreach (var barcode in ocrResult.Barcodes)
{
Console.WriteLine(barcode.Value);
}
}
}
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
ocrTesseract.Configuration.ReadBarCodes = True
Dim ocrInput As New OcrInput()
ocrInput.LoadImage("images\imageWithBarcode.png")
Dim ocrResult = ocrTesseract.Read(ocrInput)
For Each barcode In ocrResult.Barcodes
Console.WriteLine(barcode.Value)
Next barcode
End Sub
End Class
該程式碼使用 IronOCR 從"images"資料夾中的映像檔"imageWithBarcode.png"中偵測和讀取條碼。 它配置 IronOCR 以啟用條碼讀取,方法是將 ReadBarCodes 設為 true。 偵測到的條碼值隨後會列印到控制台。
PDF文字擷取
IronOCR也可以從PDF和掃描文件中提取文字。 以下是一個程式碼範例,示範如何使用 IronOCR 從 PDF 檔案中擷取文字:
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// OCR entire document
ocrInput.LoadPdf("Email_Report.pdf");
// Alternatively OCR selected page numbers
int[] pages = { 1, 2, 3, 4, 5 };
ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
using IronOcr;
using System;
class Program
{
static void Main()
{
var ocrTesseract = new IronTesseract();
using var ocrInput = new OcrInput();
// OCR entire document
ocrInput.LoadPdf("Email_Report.pdf");
// Alternatively OCR selected page numbers
int[] pages = { 1, 2, 3, 4, 5 };
ocrInput.LoadPdfPages("example.pdf", pages, Password: "password");
var ocrResult = ocrTesseract.Read(ocrInput);
Console.WriteLine(ocrResult.Text);
}
}
Imports IronOcr
Imports System
Friend Class Program
Shared Sub Main()
Dim ocrTesseract = New IronTesseract()
Dim ocrInput As New OcrInput()
' OCR entire document
ocrInput.LoadPdf("Email_Report.pdf")
' Alternatively OCR selected page numbers
Dim pages() As Integer = { 1, 2, 3, 4, 5 }
ocrInput.LoadPdfPages("example.pdf", pages, Password:= "password")
Dim ocrResult = ocrTesseract.Read(ocrInput)
Console.WriteLine(ocrResult.Text)
End Sub
End Class
程式碼使用 IronOCR 對名為"Email_Report.pdf"的 PDF 文件執行 OCR 處理。 它可以使用 LoadPdf 對整個文件進行 OCR 識別,或使用 LoadPdfPages 和密碼對"example.pdf"中的特定頁面進行 OCR 識別。 OCR辨識出的文字會印到控制台上。
結論
IronOCR是一個功能強大的 .NET 程式庫,提供進階 OCR 軟體功能,讓開發人員能夠輕鬆地在其應用程式中執行 OCR 任務。 在本文中,我們探討如何使用 IronOCR 進行基本和進階 OCR 軟體演示,並提供了程式碼範例。
如果你正在開發 .NET 專案並且需要整合 OCR 功能,那麼在考慮不同的 OCR 引擎時,IronOCR 絕對值得考慮。 其易用性、速度、靈活性和豐富的文件使其成為開發人員執行 OCR 自動化任務的熱門選擇。
那麼,何不試試 IronOCR,看看它如何簡化您自己的 OCR 專案開發流程呢? 它可能是最適合您專案的OCR引擎。
IronOCR 提供免費試用許可證,然後從 $799 美元起售,讓您在專案中繼續充分利用 IronOCR。
想了解更多關於IronOCR的信息,請訪問這裡。
常見問題解答
我如何在 C# 中執行 OCR?
您可以使用 IronOCR 庫在 C# 中執行 OCR。首先,通過 NuGet 套件管理器使用命令 Install-Package IronOcr 安裝它。然後,使用 IronTesseract 對象從圖像或 PDF 中讀取文本並將其轉換為可編輯的文本。
在使用 C# 從圖像中提取文本的過程涉及哪些步驟?
要在 C# 中從圖像中提取文本,請使用 IronOCR 通過創建 IronTesseract 對象的實例。載入您的圖像,例如 'ocr.png',並調用 Read() 方法來處理圖像並提取文本。
我可以自訂 IronOCR 的 OCR 過程嗎?
可以,IronOCR 允許您通過設置選項來自訂 OCR 過程,例如 OCR 語言,啟用圖像預處理以減少噪音,以及調整解析度以提高準確性。
IronOCR 是否可以進行條形碼讀取?
可以,IronOCR 支持條形碼讀取。您可以配置它以檢測和提取圖像中的條形碼信息,通過在您的 OCR 設置中啟用條形碼讀取功能。
如何使用 C# 從 PDF 當中提取文本?
使用 IronOCR,您可以在 C# 中從 PDF 文件中提取文本。您可以選擇對整個文檔或特定頁面進行 OCR,方法是將 PDF 載入 IronTesseract 並使用其 Read() 方法來提取文本。
什麼使 IronOCR 成為開發人員推薦的選擇?
IronOCR 因其全面的 OCR 功能、易用性、快速處理和靈活性而被推薦給開發人員。它可以無縫地整合到 .NET 項目中,允許高效地自動執行 OCR 任務。
IronOCR 有哪些許可選項?
IronOCR 提供各種許可選項,從免費試用開始。開發人員可以選擇不同的許可,以在應用程序中繼續使用 IronOCR 的全部功能。
我可以在哪裡找到使用 IronOCR 的代碼示例?
您可以在文章『C# OCR 軟體示範(開發人員教程)』中找到使用 IronOCR 的代碼示例。這些示例展示了基本文字識別、高級 OCR 選項以及條形碼讀取。

