How to Tesseract OCR in C# Alternatives with IronOCR
想要在您的 C# 應用程式中實現光學字元識別嗎? 雖然 Google Tesseract 提供免費的 OCR 解決方案,但許多開發者都因其複雜的設置、對真實世界文件的有限準確性以及 C++ 互操作要求而感到困擾。 本綜合指南展示了如何使用 IronOCR 增強的 Tesseract 實現,獲得 99.8-100% 的 OCR 準確性——這是一個原生 C# 程式庫,不僅消除了安裝的麻煩,還能提供更優秀的結果。
無論您是從掃描文件中提取文字、處理發票,還是構建文件自動化系統,您都能學會如何在幾分鐘內,而不是幾週內,實現生產就緒的 OCR。
快速入門:一行程式碼完成 IronTesseract OCR
using IronOCR 最簡單的 API 在幾秒鐘內擷取文字。 這個例子顯示了一行程式碼如何讓您呼叫 IronTesseract,傳入圖像,然後獲得識別後的文字——簡單易用,結果保證。
簡化工作流程(5 步驟)
- 通過 NuGet Package Manager 安裝增強的 Tesseract OCR 程式庫
- 配置圖像預處理以優化文字識別
- 處理多種文件格式包括 PDFs 和多幀 TIFFs
- 提取具有字元級準確性度量的結構化資料
- 無需原生依賴即可跨平台部署
IronOCR 的 Tesseract 實現的全面功能概覽,顯示平台相容性、支持格式和高級處理能力
如何使用最少的程式碼從 C# 中的圖像中提取文字?
以下範例說明了如何在您的 .NET 應用程式中僅使用幾行程式碼實現 OCR 功能。 與普通 Tesseract 不同,這種方法會自動處理圖像預處理,甚至在不完美的掃描中也能提供準確的結果。
using NuGet Package Manager 將 IronOCR NuGet 方案包安裝到您的 Visual Studio 解決方案中。
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-2.cs
using IronOcr;
using System;
var ocr = new IronTesseract();
using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames(@"img\example.tiff", pageindices);
input.DeNoise(); //fixes digital noise
input.Deskew(); //fixes rotation and perspective
// there are dozens more filters, but most users wont need them
OcrResult result = ocr.Read(input);
Console.WriteLine(result.Text);
Imports IronOcr
Imports System
Private ocr = New IronTesseract()
Private input = New OcrInput()
Private pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img\example.tiff", pageindices)
input.DeNoise() 'fixes digital noise
input.Deskew() 'fixes rotation and perspective
' there are dozens more filters, but most users wont need them
Dim result As OcrResult = ocr.Read(input)
Console.WriteLine(result.Text)
這段程式碼展示了 IronOCR 簡化的 API 的強大功能。 IronTesseract 類提供了單個托管的 Tesseract 5 包裝,消除了複雜的 C++ 互操作的需要。OcrInput 類支持載入多個圖片格式和頁面,而可選的預處理方法 (DeNoise() 和 Deskew()) 可以顯著提高真實世界文件的準確性。
除了基本的文字提取外,OcrResult 物件提供豐富的結構化資料,包括字詞級信心分數、字元位置和文件結構 - 這使得 可搜索 PDF 建立 和 精確文字位置跟踪 等高級功能得以實現。
Tesseract 和 IronOCR 的安裝有何主要不同?
使用 .NET 的 Tesseract 引擎進行 OCR
在 C# 中傳統的 Tesseract 整合需要管理 C++ 庫,這造成了一些挑戰。
開發者必須處理平台特定的二進制文件,確保安裝 Visual C++ 運行時,並處理 32/64 位相容性問題。 設置通常要求手動編譯 Tesseract 和 Leptonica 庫,特別是對於最新的 Tesseract 5 版本,這些版本不是為 Windows 編譯而設計的。
跨平台部署在 Azure、Docker 或 Linux 環境中尤其困難,因為權限和依賴項相差甚遠。
IronOCR Tesseract for .NET
IronOCR 通過單一的托管 .NET 程式庫(通過 NuGet 分發)消除了安裝的複雜性:
Install-Package IronOcr
無本地 DLL,無 C++ 運行時,無平台特定配置。 一切都以純托管程式碼運行,自動解決依賴問題。
該庫提供了與以下的完整相容性:
- .NET Framework 4.6.2 及以上
- .NET Standard 2.0 及以上(包括 .NET 5、6、7、8、9 和 10)
- .NET Core 2.0 及以上
這種方法確保在 Windows、macOS、Linux、Azure、AWS Lambda、Docker 容器,甚至 Xamarin 移動應用程式中行為一致。
最新的 OCR 引擎版本如何為 .NET 開發進行比較?
Google Tesseract with C
Tesseract 5 雖然強大,但對於 Windows 開發者來說存在巨大挑戰。
最新的構建需要通過 MinGW 的跨編譯,然而這很少能產生有效的 Windows 二進制文件。 GitHub 上免費的 C# 包裝器通常落後於最新的 Tesseract 版本多年,錯過了關鍵的改進和錯誤修復。 由於這些編譯障礙,開發者經常使用過時的 Tesseract 3.x 或 4.x 版本。
IronOCR Tesseract for .NET
IronOCR 提供了一個 專門為 .NET 優化的定製 Tesseract 5 引擎。
此實現包括性能增強,如本地多執行緒支持、自動圖像預處理,以及大型文件的高效處理。 定期的更新確保了與最新 .NET 發行版的相容性,同時保持向後相容性。
該庫還通過專門的 NuGet package 提供廣泛的語言支持,使得為超過 127 種語言新增 OCR 功能變得簡單,而無需管理外部詞典文件。
Google Cloud OCR 比較
儘管 Google Cloud Vision OCR 提供高精度,但它需要互聯網連接、按請求收費,對於敏感文件而言,會產生資料隱私問題。 IronOCR 提供可比的準確性並支持內部處理,非常適合需要資料安全或脫機能力的應用程式。
使用不同方法可達到的 OCR 準確度水平如何?
在 .NET 專案中使用 Google Tesseract
原始 Tesseract 在讀取高解析度、完美對齊的文字方面表現出色,但在真實世界的文件中卻很困難。
掃描頁面、照片或低解析度的圖像通常會產生混亂的輸出,除非進行了深入的預處理。 獲得可接受的準確性通常需要使用 ImageMagick 或類似工具的自定圖像處理管道 - 為每種文件型別增加幾週的開發時間。
常見的準確性問題包括:
- 在傾斜文件上識別錯誤的字元
- 在低 DPI 掃描上完全失敗
- 混合字體或佈局時表現不佳
- 無法處理背景噪聲或水印
在 .NET 專案中使用 IronOCR Tesseract
IronOCR 增強的實現可在典型的商務文件上實現99.8-100%的準確性,無需手動預處理:
using IronOcr;
using System;
// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();
// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();
// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };
// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);
// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise(); // Removes digital artifacts and speckles
input.Deskew(); // Corrects rotation up to 15 degrees
// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);
// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);
// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
using IronOcr;
using System;
// Create an instance of the IronTesseract class for OCR processing
var ocr = new IronTesseract();
// Create an OcrInput object to load and preprocess images
using var input = new OcrInput();
// Specify which pages to extract from multi-page documents
var pageIndices = new int[] { 1, 2 };
// Load specific frames from a TIFF file
// IronOCR automatically detects and handles various image formats
input.LoadImageFrames(@"img\example.tiff", pageIndices);
// Apply automatic image enhancement filters
// These filters dramatically improve accuracy on imperfect scans
input.DeNoise(); // Removes digital artifacts and speckles
input.Deskew(); // Corrects rotation up to 15 degrees
// Perform OCR with enhanced accuracy algorithms
OcrResult result = ocr.Read(input);
// Access the extracted text with confidence metrics
Console.WriteLine(result.Text);
// Additional accuracy features available:
// - result.Confidence: Overall accuracy percentage
// - result.Pages[0].Words: Word-level confidence scores
// - result.Blocks: Structured document layout analysis
Imports IronOcr
Imports System
' Create an instance of the IronTesseract class for OCR processing
Private ocr = New IronTesseract()
' Create an OcrInput object to load and preprocess images
Private input = New OcrInput()
' Specify which pages to extract from multi-page documents
Private pageIndices = New Integer() { 1, 2 }
' Load specific frames from a TIFF file
' IronOCR automatically detects and handles various image formats
input.LoadImageFrames("img\example.tiff", pageIndices)
' Apply automatic image enhancement filters
' These filters dramatically improve accuracy on imperfect scans
input.DeNoise() ' Removes digital artifacts and speckles
input.Deskew() ' Corrects rotation up to 15 degrees
' Perform OCR with enhanced accuracy algorithms
Dim result As OcrResult = ocr.Read(input)
' Access the extracted text with confidence metrics
Console.WriteLine(result.Text)
' Additional accuracy features available:
' - result.Confidence: Overall accuracy percentage
' - result.Pages[0].Words: Word-level confidence scores
' - result.Blocks: Structured document layout analysis
自動預處理過濾器處理常見的文件質量問題,否則這些問題需要手動干預。 DeNoise() 方法從掃描中移除數字失真,而 Deskew() 修正文件旋轉 - 兩者對保持高準確性都是至關重要的。
高級使用者可以進一步通過自定義配置來優化準確性,包括字元白名單、特定區域處理以及針對專業術語的專用語言模型。
哪些圖像格式和來源支持 OCR 處理?
在 .NET 中使用 Google Tesseract
本地 Tesseract 只接受 Leptonica PIX 格式 - 這是一個在 C# 中難以處理的非托管 C++ 指標。
將 .NET 圖像轉換為 PIX 格式需要謹慎的記憶體管理以防止洩漏。 對 PDF 和多頁 TIFF 的支持需要額外的庫,而它們自身又存在相容性問題。 許多實現難以處理基本的格式轉換,限制了實際可用性。
IronOCR 圖像相容性
IronOCR 提供全面的格式支持和自動轉換:
- PDF 文件(包括受密碼保護的)
- 多幀 TIFF 文件
- 標準格式:JPEG, PNG, GIF, BMP
- 高級格式:JPEG2000, WBMP
- .NET 型別:
System.Drawing.Image,System.Drawing.Bitmap - 資料來源:流、字節陣列、文件路徑
- 直接掃描儀整合
全面的格式支持範例
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-5.cs
using IronOcr;
var text = new IronTesseract().Read("img.png").Text;
Imports IronOcr
Private text = (New IronTesseract()).Read("img.png").Text
這種統一的文件載入方法消除了格式特定的程式碼。 無論處理掃描的 TIFF、數字 PDF 還是智能手機照片,統一的 API 都可處理所有情境。 OcrInput 類別智能地管理記憶體並提供一致的結果,無論來源格式如何。
在專門的情境下,IronOCR 還支持從同一文件中讀取條碼和 QR 碼,實現一次處理全面的文件資料提取。
在真實應用中,OCR 性能有何比較?
免費的 Google Tesseract 性能
基本的 Tesseract 可以在經過預處理的高解析度圖像上提供可接受的速度,這類圖像需匹配其訓練資料。
然而,實際世界的性能往往令人失望。 當 Tesseract 難以處理圖像質量時,處理掃描文件的單頁可能需要 10-30 秒。 單執行緒架構成為批量處理的瓶頸,隨著大圖像的增多,記憶體使用也會急劇上升。
IronOCR Tesseract 程式庫性能
IronOCR 為生產工作負載實現了智能性能優化:
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-6.cs
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.Arabic;
using var input = new OcrInput();
var pageindices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageindices);
// Add image filters if needed
// In this case, even thought input is very low quality
// IronTesseract can read what conventional Tesseract cannot.
var result = ocr.Read(input);
// Console can't print Arabic on Windows easily.
// Let's save to disk instead.
result.SaveAsTextFile("arabic.txt");
Imports IronOcr
Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.Arabic
Dim input = New OcrInput()
Dim pageindices = New Integer() { 1, 2 }
input.LoadImageFrames("img/arabic.gif", pageindices)
' Add image filters if needed
' In this case, even thought input is very low quality
' IronTesseract can read what conventional Tesseract cannot.
Dim result = ocr.Read(input)
' Console can't print Arabic on Windows easily.
' Let's save to disk instead.
result.SaveAsTextFile("arabic.txt")
這些優化展示了 IronOCR 的生產就緒設計。 單靠 BlackListCharacters 配置即可提高速度 20-30%,當不需要特殊字元時。 快速語言包為需要高容量處理的情境提供了良好的平衡,且完美準確性並非關鍵。
對於企業應用而言,IronOCR 的多執行緒支持使得可以同時處理多個文件,與單執行緒 Tesseract 相比,現代多核系統上的吞吐量提升可以達到 4-8 倍。
Tesseract 和 IronOCR 間的 API 設計有何不同?
Google Tesseract OCR in .NET
將原始 Tesseract 整合到 C# 應用程式中有兩個挑戰選擇:
- 互操作包裝:通常是過時的,文件稀少,且容易出現記憶體洩漏
- 命令行執行:難以部署,安全策略阻止,錯誤處理差
在雲環境、網路應用程式或跨平台部署中均無法可靠地運行。 缺乏合適的 .NET 整合意味著花費更多時間對抗工具而非解決商業問題。
IronOCR Tesseract OCR 程式庫 for .NET
IronOCR 提供了專為 .NET 開發者設計的完全托管、直觀的 API:
最簡該程式碼實現
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-7.cs
using IronOcr;
// For the Chinese Language Pack:
// PM> Install IronOcr.Languages.ChineseSimplified
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.ChineseSimplified;
ocr.AddSecondaryLanguage(OcrLanguage.English);
// We can add any number of languages
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");
var result = ocr.Read(input);
result.SaveAsTextFile("results.txt");
Imports IronOcr
' For the Chinese Language Pack:
' PM> Install IronOcr.Languages.ChineseSimplified
Private ocr = New IronTesseract()
ocr.Language = OcrLanguage.ChineseSimplified
ocr.AddSecondaryLanguage(OcrLanguage.English)
' We can add any number of languages
Dim input = New OcrInput()
input.LoadPdf("multi-language.pdf")
Dim result = ocr.Read(input)
result.SaveAsTextFile("results.txt")
這個精簡的 API 消除了傳統 Tesseract 整合的複雜性。 每個方法都包括全面的 XML 文件,讓您能夠直接在 IDE 中探索功能。廣泛的 API 文件提供了每個功能的詳細範例。
經驗豐富工程師提供的專業支援確保您不會在實現細節上卡住。 該庫定期更新,保持與最新 .NET 發佈的相容性,根據開發者反饋新增新功能。
支持哪些平台和部署場景?
Google Tesseract + Interop for .NET
跨平台的 Tesseract 部署要求進行平台特定的構建和配置。
每個目標環境需要不同的二進制文件、運行時依賴和權限。 Docker 容器需要謹慎選擇基本映像。 由於缺少 Visual C++ 運行時,Azure 部署常常失敗。 Linux 相容性取決於特定的發行版和 package 可用性。
IronOCR Tesseract .NET OCR 程式庫
IronOCR 提供真正的一次編寫,隨處部署的能力:
應用程式型別:
- 桌面應用程式 (WPF, WinForms, Console)
- 網路應用程式 (ASP.NET Core, Blazor)
- 雲服務 (Azure Functions, AWS Lambda)
- 移動應用程式 (via Xamarin)
- 微服務 (Docker, Kubernetes)
平台支持:
- Windows (7, 8, 10, 11, Server 版本)
- macOS (Intel and Apple Silicon)
- Linux (Ubuntu, Debian, CentOS, Alpine)
- Docker 容器 (官方基本映像)
- 雲平台 (Azure, AWS, Google Cloud)
.NET 相容性:
.NET Framework 4.6.2及以上.NET Standard 2.0及以上(包括.NET 5,6,7,8,9, 和10).NET Core 2.0及以上- Mono framework
- Xamarin.Mac
該庫內部處理平台上的差異,提供跨所有環境的一致結果。 部署指南涵蓋具體情境,包括併容器化、無伺服器功能和高可用性配置。
多語言OCR功能有何比較?
Google Tesseract 支持語言
管理原始 Tesseract 的語言需要下載和維護 tessdata 文件 - 所有語言大約需要 4GB。
文件夾結構必須精確,環境變數適當配置,運行時路徑可存取。切換語言需要文件系統存取,這在有限環境下部署變得複雜。 Tesseract 二進製文件與語言文件之間的版本不匹配會導致莫名其妙的錯誤。
IronOCR 語言管理
IronOCR 通過 NuGet package 管理實現語言支持的革新:
阿拉伯文 OCR 範例
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-8.cs
using IronOcr;
// Configure IronTesseract for Arabic text recognition
var ocr = new IronTesseract
{
// Set primary language to Arabic
// Automatically handles right-to-left text
Language = OcrLanguage.Arabic
};
// Load Arabic documents for processing
using var input = new OcrInput();
var pageIndices = new int[] { 1, 2 };
input.LoadImageFrames("img/arabic.gif", pageIndices);
// IronOCR includes specialized preprocessing for Arabic scripts
// Handles cursive text and diacritical marks automatically
// Perform OCR with language-specific optimizations
var result = ocr.Read(input);
// Save results with proper Unicode encoding
// Preserves Arabic text formatting and direction
result.SaveAsTextFile("arabic.txt");
// Advanced Arabic features:
// - Mixed Arabic/English document support
// - Automatic number conversion (Eastern/Western Arabic)
// - Font-specific optimization for common Arabic typefaces
Imports IronOcr
' Configure IronTesseract for Arabic text recognition
Dim ocr As New IronTesseract With {
' Set primary language to Arabic
' Automatically handles right-to-left text
.Language = OcrLanguage.Arabic
}
' Load Arabic documents for processing
Using input As New OcrInput()
Dim pageIndices As Integer() = {1, 2}
input.LoadImageFrames("img/arabic.gif", pageIndices)
' IronOCR includes specialized preprocessing for Arabic scripts
' Handles cursive text and diacritical marks automatically
' Perform OCR with language-specific optimizations
Dim result = ocr.Read(input)
' Save results with proper Unicode encoding
' Preserves Arabic text formatting and direction
result.SaveAsTextFile("arabic.txt")
' Advanced Arabic features:
' - Mixed Arabic/English document support
' - Automatic number conversion (Eastern/Western Arabic)
' - Font-specific optimization for common Arabic typefaces
End Using
多語言文件處理
:path=/static-assets/ocr/content-code-examples/tutorials/c-sharp-tesseract-ocr-9.cs
using IronOcr;
// Install language packs via NuGet:
// PM> Install-Package IronOcr.Languages.ChineseSimplified
// Configure multi-language OCR
var ocr = new IronTesseract();
// Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified;
// Add secondary language for mixed content
// Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English);
// Process multi-language PDFs efficiently
using var input = new OcrInput();
input.LoadPdf("multi-language.pdf");
// IronOCR automatically detects and switches between languages
// Maintains high accuracy across language boundaries
var result = ocr.Read(input);
// Export preserves all languages correctly
result.SaveAsTextFile("results.txt");
// Supported scenarios:
// - Technical documents with English terms in foreign text
// - Multilingual forms and applications
// - International business documents
// - Mixed-script content (Latin, CJK, Arabic, etc.)
Imports IronOcr
' Install language packs via NuGet:
' PM> Install-Package IronOcr.Languages.ChineseSimplified
' Configure multi-language OCR
Dim ocr As New IronTesseract()
' Set primary language for majority content
ocr.Language = OcrLanguage.ChineseSimplified
' Add secondary language for mixed content
' Perfect for documents with Chinese text and English metadata
ocr.AddSecondaryLanguage(OcrLanguage.English)
' Process multi-language PDFs efficiently
Using input As New OcrInput()
input.LoadPdf("multi-language.pdf")
' IronOCR automatically detects and switches between languages
' Maintains high accuracy across language boundaries
Dim result = ocr.Read(input)
' Export preserves all languages correctly
result.SaveAsTextFile("results.txt")
End Using
' Supported scenarios:
' - Technical documents with English terms in foreign text
' - Multilingual forms and applications
' - International business documents
' - Mixed-script content (Latin, CJK, Arabic, etc.)
語言包系統支持超過 127 種語言,每個語言都針對特定的字形和書寫系統進行優化。 通過 NuGet 安裝確保版本相容性,並簡化了在不同環境的部署。
IronOCR 除基本 OCR 之外還提供哪些附加功能?
IronOCR 的功能遠遠超過基本的文字提取,配備了企業級功能:
- 自動圖像分析:根據圖像特性智能配置處理
- 可搜索 PDF 建立:將掃描的文件轉換成全可搜索的 PDFs。 將
true作為第二個參數傳遞給SaveAsSearchablePdf()以將主動 OCR 過濾器應用於輸出(v2025.5.11 新增) - 高級 PDF OCR:在保留文件結構的同時提取文字
- 條形碼和 QR 碼讀取:檢測並解碼條形碼在同一過程中
- HTML 匯出:從 OCR 結果生成結構化 HTML
- TIFF 到 PDF 轉換:將多頁 TIFF 轉換成可搜索的 PDFs
- 手寫英語 OCR:本地手寫識別英語,v2025.11.31 新增 — 這對於處理手填表格和筆記來說比原始 Tesseract 更具差異化
- 定位檢測:
DetectPageOrientation()支持OrientationDetectionMode四種數值 —Fast,Balanced,Detailed,ExtremeDetailed— 控制準確性/速度的平衡(v2025.8.6 新增) - 多執行緒支持:可同時處理多個文件
- 詳細結果分析:存取字元級的資料和信心水準
Scale() 和 EnhanceResolution() 與 SaveAsSearchablePdf() 不相容,這是因為 v2025.12.3 中已知的問題。所有其他濾鏡與可搜索 PDF 輸出正確運作。
OcrResult 類別提供了對識別內容的精細存取,允許進行高級的後處理和驗證工作流。
應該選擇哪個 C# 開發的 OCR 解決方案?
Google Tesseract for C# OCR
當以下情況可以選擇普通的 Tesseract:
- 開展學術或研究專案
- 處理完美掃描的文件且開發時間,無限制
- 構建概念驗證應用程式
- 僅考慮成本
要為大量的整合挑戰和持續的維護需求做好準備。
IronOCR Tesseract OCR 程式庫 for .NET Framework & Core
IronOCR 是最佳選擇,用於:
- 需要可靠性生產應用
- 具有真實世界文件質量的專案
- 跨平台部署
- 時間關鍵的開發進程
- 需要專業支援的應用程式
在處理具有挑戰性的文件時,該庫可透過減少開發時間和提高準確性來回報自己。
如何在您的 C# 項目中開始使用專業 OCR?
開始在您的 Visual Studio 項目中實施高精度 OCR:
Install-Package IronOcr
或 直接下載 IronOCR .NET DLL,以便手動安裝。
開始使用我們的全面入門指南,探索程式碼範例,並在需要時利用專業支援。
體驗專業 OCR 帶來的不同——立即開始您的免費試用,加入超過 10,000 間以 99.8% 以上準確度處理其文件工作流的公司。
Iron Software 的 OCR 技術被全球的財富 500 強公司和政府機構信賴,負責關鍵任務的文件處理。
常見問題
我如何在 C# 應用程式中實現 Tesseract OCR?
要在 C# 應用程式中實現 Tesseract OCR,您可以使用 IronOCR 的 IronTesseract 類。使用命令 Install-Package IronOcr 通過 NuGet 安裝,然後新增命名空間 using IronOcr;。用 var ocr = new IronTesseract(); 實例化 OCR 引擎,並使用 var result = ocr.Read("image.png"); 從圖像中提取文字。
使用 IronOCR 相較於傳統 Tesseract 的好處是什麼?
IronOCR 相較於傳統 Tesseract 提供了多項好處,包括簡化部署無需本地依賴,自動圖像預處理以提高準確性,以及 .NET 綜合管理。其提供功能如 PDF 和多語言支持,並可透過 NuGet 輕鬆安裝,避免使用 Tesseract C++ 交互的複雜性。
我如何提高 C# 專案中的 OCR 準確性?
為了提高 C# 專案中的 OCR 準確性,使用 IronOCR 的自動圖像增強功能。方法如 input.DeNoise() 和 input.Deskew() 可幫助預處理圖像,減少噪音和校正偏斜。此外,選擇正確的語言設定並使用信心指數進行準確性的驗證,使用 OcrResult.Confidence。
我可以使用 C# 在 PDF 文件上執行 OCR 嗎?
可以,使用 IronOCR 的 OcrInput 類,您可以在 PDF 文件上執行 OCR。通過 input.LoadPdf("file.pdf", "password") 載入 PDF 並使用 var result = ocr.Read(input); 處理它。這允許直接在您的 C# 應用程式中提取文字和建立可搜尋的 PDF。
我如何在單一 OCR 文件中處理多種語言?
IronOCR 允許在單一文件中處理多種語言。使用 ocr.Language = OcrLanguage.English; 設置主要語言,並使用 ocr.AddSecondaryLanguage(OcrLanguage.Spanish); 新增第二語言。這種靈活性對於包含混合語言或技術術語的文件有益。
IronOCR 支援哪個平台?
IronOCR 支援多種平台,包括 .NET Framework 4.6.2+、.NET Core 2.0+、.NET 5-10 和 .NET Standard 2.0+。它運行於 Windows、macOS 和 Linux,以及 Docker 容器、Azure Functions、AWS Lambda 和 Xamarin 行動應用程式上,提供不同環境中的一致性。
我如何在 C# 中優化 OCR 處理的效能?
要在 C# 中優化 OCR 處理性能,利用 IronOCR 的功能,如通過 ocr.Configuration.ReadBarCodes = false; 停用不必要的條碼掃描,並選擇更快的語言模型,如 ocr.Language = OcrLanguage.EnglishFast;。此外,利用多執行緒能力進行更快的批處理。
IronOCR 支持哪些圖片格式?
IronOCR 支持多種圖像格式,包括 PDF、TIFF、JPEG 和 PNG。使用 OcrInput 類通過 input.LoadImage("photo.jpg") 或 input.LoadPdf("file.pdf") 方法載入圖像。這種廣泛的相容性允許與不同的圖像來源和格式輕鬆整合。

