如何在 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)。 它初始化一個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" 檢測和讀取條碼。 它通過將ReadBarCodes設置為true來配置IronOCR以啟用條碼閱讀。 檢測到的條碼值隨後將被列印到控制台。

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處理。 它可以使用LoadPdfPages加密碼進行 "example.pdf" 文件的特定頁面。 OCR操作識別的文字將列印到控制台。

結論
IronOCR 是一個強大的.NET程式庫,提供先進的OCR軟體功能,讓開發者可以輕鬆地在他們的應用程式中進行OCR任務。 在本文中,我們探索了如何使用IronOCR通過程式碼範例進行基本和高級的OCR軟體範例。
如果您正在開發一個.NET專案並需要整合OCR功能,那麼在考慮不同的OCR引擎時,IronOCR絕對值得考慮。 其易用性、速度、靈活性和豐富的文件使其成為開發者在OCR自動化任務中受歡迎的選擇。
那麼為什麼不試試IronOCR,看看它如何簡化您自己的OCR專案開發過程呢? 它可能是您專案中最佳的OCR引擎。
IronOCR提供免費的試用授權,然後從$999美元開始,這讓您可以持續在專案中充分利用IronOCR。
欲了解更多關於IronOCR的資訊,請存取此處。
常見問題
如何在C#中執行OCR?
您可以使用IronOCR程式庫在C#中執行OCR。首先,通過NuGet套件管理器安裝它,命令為Install-Package IronOcr。然後,使用IronTesseract物件從圖像或PDF中讀取文字並將其轉換為可編輯的文字。
從圖像中提取文字的步驟是什麼?
要在C#中從圖像中提取文字,請使用IronOCR建立一個IronTesseract物件的實例。載入您的圖像,例如'ocr.png',然後調用Read()方法來處理圖像並提取文字。
我可以使用IronOCR自定義OCR過程嗎?
可以,IronOCR允許您通過設置選項來自定義OCR過程,例如OCR語言,啟用噪音消除圖像預處理以及調整解析度來提高準確性。
是否可以使用IronOCR進行條碼讀取?
可以,IronOCR支持條碼讀取。您可以配置它以啟用條碼讀取功能,從圖像中檢測並提取條碼資訊。
如何使用C#從PDF中提取文字?
使用IronOCR,您可以在C#中從PDF文件中提取文字。您可以選擇OCR整個文件或特定頁面,通過將PDF載入到IronTesseract中並使用其Read()方法來提取文字。
IronOCR為什麼是一個推薦的開發者選擇?
IronOCR因其全面的OCR功能、易於使用、快速處理和靈活性而被推薦給開發者。它無縫整合到.NET專案中,允許有效地自動化OCR任務。
IronOCR有授權選項嗎?
IronOCR提供多種授權選項,首先提供免費試用。開發者可以從不同的授權中選擇以繼續在其應用程式中使用IronOCR的全部功能。
在哪裡可以找到IronOCR的程式碼範例?
您可以在名為'OCR Software Demo in C# (Developer Tutorial)'的文章中找到IronOCR的程式碼範例。這些範例展示了基本文字識別、進階OCR選項以及條碼讀取。



