跳至頁尾內容
USING IRONOCR

OCR C# GitHub:使用 IronOCR 進行文字識別

IronOCR透過提供單一DLL解決方案、99.8%的準確率、內建的預處理和支援超過125種語言,簡化了C# GitHub項目的OCR整合,消除了原生Tesseract實現所需的複雜配置。

現在開始使用IronOCR。
green arrow pointer

如果您是C#開發者,正在探索GitHub上的OCR選項,很可能您需要的不僅僅是程式碼。 您想要一個開箱即用的程式庫,附帶可執行的範例,並且背後有一個活躍的社群。 可靠的整合和穩定的版本控制與準確性一樣重要。 本指南引導您如何將IronOCR整合到您的GitHub項目中,以便您可以自信地處理圖像和PDF中的文字識別。

無論您的目標是提取純文字、提取結構化的單詞和行,還是為歸檔生成可搜尋的PDF,IronOCR都能滿足您的需求。 該程式庫支援從條碼識別到超過125種語言的多語言OCR。

如何開始使用IronOCR和GitHub?

IronOCR是一種.NET OCR解決方案,自然融入GitHub-based開發工作流程中。 不同於需要複雜配置的原生Tesseract實現,IronOCR提供了一個精緻的API,可以讓您在幾分鐘內運行起來。

對於那些新的光學字元識別,IronOCR的文件涵蓋了從基本文字提取到高級圖像處理的所有內容。 該程式庫內建支援圖像過濾器和OCR優化技術,否則需要大量手動調整。

開發者對IronOCR的GitHub項目感興趣的原因之一是其可預測性。 當貢獻者克隆您的儲存庫並運行您的項目時,OCR引擎應在他們的機器上表現一致。IronOCR的自包含架構使這成為可能,無需在您的repo中固定特定平台的本機二進制文件。

您應該使用哪種安裝方法?

首先通過NuGet封裝管理器安裝IronOCR:

Install-Package IronOcr

NuGet Package Manager window in Visual Studio showing the IronOCR package search results with various language packs available for installation

NuGet 使用NuGet安裝

PM >  Install-Package IronOcr

查看在NuGet上的https://www.nuget.org/packages/IronOcr,快速安裝。超過1000萬次下載,正在用C#轉變PDF開發。 您也可以下載DLLWindows安裝程式

針對高級安裝場景,請參閱NuGet封裝指南。 如果您要部署到特定平台,請查看WindowsLinux,macOS,或Docker容器的指南。

在哪裡可以找到範例程式碼?

IronOCR維護官方GitHub儲存庫,提供範例和教程。 IronOCR範例儲存庫提供現實世界的實現,而圖像到文字教程儲存庫展示了您可以克隆和修改的實際用例。

這些儲存庫展示了包括條碼閱讀、多語言支援和PDF處理的OCR。 由於IronOCR在NuGet上發布頻繁的封裝,您將始終可以存取最新的穩定版本。

Flowchart showing OCR processing pipeline: GitHub OCR repository → IronOCR Project → OCR Processing → Extracted text output

如何在GitHub上建立您的第一個OCR項目?

建立適合在GitHub上分享的OCR應用程式需要一致的結構,以便貢獻者可以立即導航。 在Visual Studio(或您偏好的IDE)中,建立一個遵循OCR開發既定慣例的新控制檯應用程式。

您應該使用哪種項目結構?

MyOcrProject/
├── src/
│   └── OcrProcessor.cs
├── images/
│   └── sample-invoice.jpg
├── .gitignore
├── README.md
└── MyOcrProject.csproj

這種結構支援各種輸入格式,包括JPG,PNG,TIFF和BMP。對於多頁TIFF或GIF文件的處理,IronOCR會自動處理。

images/文件夾保持樣本文件組織良好,並使得貢獻者可以輕鬆新增測試圖像而不會擾亂根目錄。 將src/文件夾與配置文件分開,讓項目更易於一目了然。 新增一個README.md,解釋項目的功能、應設置的授權金鑰變數以及如何運行樣本。

如何實施OCR處理程式碼?

以下範例展示了一個完整的OCR處理器,展示了IronOCR的主要功能,包括圖像預處理、文字提取和條碼檢測:

using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
ocr.Language = OcrLanguage.English;

using var input = new OcrInput();
input.LoadImage("images/sample-invoice.jpg");
input.Deskew();
input.DeNoise();
input.EnhanceResolution(225);

var result = ocr.Read(input);

Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine($"Text Found:\n{result.Text}");

foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
}

result.SaveAsSearchablePdf("output.pdf");
using IronOcr;

var ocr = new IronTesseract();
ocr.Configuration.ReadBarCodes = true;
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto;
ocr.Language = OcrLanguage.English;

using var input = new OcrInput();
input.LoadImage("images/sample-invoice.jpg");
input.Deskew();
input.DeNoise();
input.EnhanceResolution(225);

var result = ocr.Read(input);

Console.WriteLine($"Confidence: {result.Confidence}%");
Console.WriteLine($"Text Found:\n{result.Text}");

foreach (var barcode in result.Barcodes)
{
    Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})");
}

result.SaveAsSearchablePdf("output.pdf");
Imports IronOcr

Dim ocr As New IronTesseract()
ocr.Configuration.ReadBarCodes = True
ocr.Configuration.PageSegmentationMode = TesseractPageSegmentationMode.Auto
ocr.Language = OcrLanguage.English

Using input As New OcrInput()
    input.LoadImage("images/sample-invoice.jpg")
    input.Deskew()
    input.DeNoise()
    input.EnhanceResolution(225)

    Dim result = ocr.Read(input)

    Console.WriteLine($"Confidence: {result.Confidence}%")
    Console.WriteLine($"Text Found:{Environment.NewLine}{result.Text}")

    For Each barcode In result.Barcodes
        Console.WriteLine($"Barcode: {barcode.Value} ({barcode.Format})")
    Next

    result.SaveAsSearchablePdf("output.pdf")
End Using
$vbLabelText   $csharpLabel

此範例展示了IronOCR的幾個功能。 構造函式將OCR引擎配置為啟用條碼閱讀和自動頁面分段。 預處理管道展示了去畸(更正旋轉)、去噪(移除干擾)和提升解析度。

處理後,引擎用可信度評分提取英文文字,識別條碼,並生成可搜尋的PDF。 程式碼使用.NET 10的頂級語句編寫,使範例簡短且易讀。

針對高級情境,您可以使用異步處理來提高吞吐量,或為長時間運行的操作實施進度跟蹤。 OcrResult類提供詳細輸出,包括文字位置、單詞坐標和段落結構-為您提供比純文字字串多得多的資訊。

開發者也可以配置IronOCR以閱讀其他語言,例如中文、西班牙語或法語,使其成為多語言GitHub項目的強大選擇。 關於安裝額外語言包的參考資料,請參閱125國際語言指南

Split screen showing OCR demo: left side displays skewed Lorem Ipsum text on white background, right side shows Visual Studio Debug Console with extracted text output and confidence score of 87.34%

您的.gitignore文件應該包括什麼?

對於您的.gitignore文件,請包含禁止運行時工件、測試輸出和秘密配置被提交的條目:

# IronOCR runtime files
runtimes/
# Test images and outputs
*.pdf
test-images/
output/
# License keys
appsettings.*.json

尤其重要的是將runtimes/文件夾排除在源程式碼控制之外,因為IronOCR在構建時下載平台特定的二進制文件。提交它們會增加您的儲存庫的大小並導致平台衝突。 了解更多有關授權金鑰管理以便正確實施。

為什麼選擇IronOCR來進行您的GitHub項目?

IronOCR為維護GitHub上的OCR項目的開發者提供了顯著的優勢。 該程式庫開箱即用即可達到99.8%的準確率,無需手動訓練或繁瑣的配置文件來混淆儲存庫。 憑藉支援超過125種語言,您的GitHub項目可以在不修改的情況下為國際使用者服務。

相容性功能確保跨平台部署在Windows、Linux、macOS和雲平台如AzureAWS上。 這個跨平台的故事對於貢獻者可能在不同操作系統上工作的開源和團隊項目至關重要。

IronOCR與其他OCR解決方案有何不同?

IronOCR足夠靈活,可以識別單詞、行和完整段落,讓您可以精確控制從每次掃描中提取多少細節。 該程式庫在特定文件型別上表現優異,包括車牌、護照、手寫文字、截圖和掃描文件。

商業授權為公共儲存庫提供法律上清晰的保障。 您明確被允許將IronOCR納入商業應用程式中。 內建的圖像預處理過濾器包含高級選項,如色彩校正、質量增強和一個預處理向導,自動為困難圖像找到最佳設置。

為什麼單一DLL架構重要?

IronOCR的單一DLL架構意味著貢獻者可以克隆您的儲存庫並立即開始開發,無需與原生依賴項或平台特定的配置作鬥爭,這是其他OCR解決方案所困擾的問題。 這種簡單性正是為什麼開發者選擇IronOCR而不是原生Tesseract的原因。

當您比較設置體驗時,原生Tesseract實現通常需要單獨安裝本機二進制文件、配置PATH變數,並手動管理tessdata語言文件。 IronOCR內部處理所有這些,這意味著您項目的README可以專注於應用程式邏輯而不是環境設置說明。

該程式庫包括Tesseract 5,具有許多性能改進和多執行緒支持,允許您並行處理多個文件,而無需撰寫自訂的執行緒程式碼。

OCR項目的版本控制最佳實踐是什麼?

在GitHub上管理OCR項目帶來了一些典型軟體項目不會面臨的挑戰。 測試圖像通常是大型二進制文件,授權金鑰絕不應出現在提交中,而在不同環境中,預處理配置可能存在顯著差異。

提前解決這些問題意味著在與團隊合作或接受貢獻者的拉取請求時,會遇到更少的意外。 以下做法可以讓您的OCR項目保持乾淨和易於維護。

如何在Git中處理大文件?

使用Git LFS來管理大型測試圖像,以保持您的儲存庫大小可控:

git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git commit -m "Track large image files with Git LFS"
git lfs track "*.jpg" "*.png" "*.tiff"
git add .gitattributes
git commit -m "Track large image files with Git LFS"
SHELL

這在處理高解析度圖像或多頁TIFF文件時尤為重要。 對於低質量的掃描,IronOCR的預處理可以顯著提高結果,而無需您在提交測試圖像之前手動編輯它們。

在儲存庫中儲存測試文件時,考慮它們是否包含敏感資訊。 最好以程式方式生成合成測試圖像,而不是在私人儲存庫中提交真實發票或身份證明文件。

如何管理授權金鑰和文件?

使用環境變數或.NET使用者密碼庫儲存IronOCR授權金鑰。 絕不要直接將它們提交到任何分支,即使是私人分支。 按照授權金鑰指南正確實施。 您還可以在ASP.NET應用程式的web.config中配置授權。

在您的README中記錄支援的圖像格式和預期的準確率。 在test-data/文件夾中包含範本圖像,以便貢獻者在克隆後能立即驗證OCR功能。 新增一個簡短的部分,解釋如何通過環境變數設置授權金鑰,以便新貢獻者在首次運行時不會被阻止。

有關跨平台開發,請參考IronOCR Linux設置指南或macOS安裝說明。 移動開發者應查看IronOCR文件中的Android和iOS指南。

常見的疑難排解提示是什麼?

為什麼OCR在Windows上無法正常工作?

常見的設置問題包括Windows上缺少Visual C++ Redistributables。 IronOCR需要2019版。 有關詳細指導,請參閱Visual C++ Redistributable故障排除指南。 對於Linux部署,請確保已安裝libgdiplus。

如果文字識別效果不佳,請使用DPI設置指南驗證您的圖像至少為200 DPI。 C# OCR社群在Stack Overflow上也提供了有助於解決GitHub項目常見問題的方案。

針對特定配置問題,請使用IronOCR實用工具來診斷問題,並參考常規疑難排解指南進行逐步診斷。

在哪裡可以獲得更多支援?

要進行詳細的故障排除,請參閱IronOCR故障排除指南。 IronOCR支援團隊為GitHub託管的OCR應用程式的授權使用者提供快速協助。 查看產品更新日誌以獲取最新更新。

您的下一步是什麼?

IronOCR通過其直觀的API、內建的預處理和可靠的準確率,簡化了C# GitHub項目中的OCR實施。 從上述程式碼範例開始,探索官方儲存庫,並構建充分利用GitHub協作功能的文件處理應用程式。

無論您是在構建MAUI應用程式、處理特殊文件,還是用一行程式碼實施OCR,IronOCR提供了您所需的工具。 程式庫的跨平台支援和簡單的NuGet安裝意味著無論貢獻者的開發環境如何,您的項目仍然易於設置。

下載IronOCR的免費試用版,將其評估在您的GitHub項目中。 探索授權選項,包括根據您團隊需求的擴展和升級。

常見問題

OCR C# GitHub教程的主要目的為何?

OCR C# GitHub教程的主要目的是指導開發者使用IronOCR在他們的GitHub專案中實現文字辨識。它包括程式碼範例和版本控制提示。

IronOCR 如何增強我在GitHub上的C#專案?

IronOCR可以透過提供強大的文字辨識功能增強您在GitHub上的C#專案,讓您能夠從圖像中準確提取和操作文字。

使用IronOCR進行文字辨識有何好處?

IronOCR在文字辨識方面提供了多種好處,包括易於使用、高準確性以及無縫整合到C#專案中,使其成為處理圖像文字資料的開發者的理想選擇。

OCR C# GitHub教程中是否有程式碼範例可用?

是的,OCR C# GitHub教程中包含程式碼範例,展示如何在您的專案中使用IronOCR實現文字辨識。

教程中提供了哪些版本控制提示?

教程提供了版本控制提示,以幫助在整合IronOCR時有效管理您項目的更改,確保順利的協作與項目維護。

我能將IronOCR用於即時文字辨識應用程式嗎?

是的,由於其高效的處理能力並支持多種圖像格式,IronOCR可用於即時文字辨識應用程式。

IronOCR支持哪些圖像格式的文字辨識?

IronOCR支持多種圖像格式的文字辨識,包括JPEG、PNG、BMP、GIF、TIFF,確保與大多數圖像來源相容。

是否有IronOCR的試用版本可供測試?

是的,IronOCR有試用版本可用,讓開發者在做出購買前測試其功能和性能。

IronOCR如何處理不同語言的文字辨識?

IronOCR支持多種語言的文字辨識,讓開發者能夠輕鬆地從多語種的圖像中提取文字。

在C#專案中使用IronOCR的系統需求是什麼?

IronOCR相容於.NET Framework和.NET Core,並且可以輕鬆整合到C#專案中,而不需要大量的系統資源。

Kannaopat Udonpant
軟體工程師
在成為軟體工程師之前,Kannapat在日本北海道大學完成了環境資源博士學位。在攻讀學位期間,Kannapat還成為車輛機器人實驗室的一員,該實驗室隸屬於生產工程系。在2022年,他憑藉C#技能加入了Iron Software的工程團隊,專注於IronPDF。Kannapat珍視他的工作,因為他能直接向撰寫大部分IronPDF程式碼的開發者學習。除了同儕學習,Kannapat還喜歡在Iron Software工作的社交方面。不寫程式碼或文件時,Kannapat通常在他的PS5上玩遊戲或重看The Last of Us。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話