跳過到頁腳內容
與其他組件的比較

Azure OCR 與 IronOCR:哪種光學字元辨識解決方案最適合 .NET 專案?

在雲端託管的 OCR 服務和本機 .NET 程式庫之間進行選擇,會影響到從延遲和成本到資料安全性和部署複雜性等方方面面。 本文比較了 Azure Vision 和IronOCR的光學字元辨識功能,為 .NET 開發人員提供了選擇適合生產工作負載的 OCR 引擎所需的資訊。

免費試用 IronOCR,在正式購買前即可在實際專案中測試文字擷取功能。

Azure 中的光學字元辨識 (OCR) 運作原理是什麼?

Azure 中的 OCR 透過 Azure AI 服務中的兩個主要服務提供:Azure Vision(Foundry Tools 的一部分)和 Azure Document Intelligence。 兩者都採用相同的 Read OCR 模型,具備從文件影像、PDF 和 TIFF 檔案以及一般影像檔案中提取印刷文字和手寫文字的基本功能。

Azure Vision 服務專注於非文件影像場景,例如路標、產品標籤和照片,而 Document Intelligence 則針對掃描和數位文檔,例如發票、收據和表格。 文檔智能包括針對文檔優化的 Read OCR 模型版本,並疊加了智能文檔處理功能,可以提取結構、鍵值對以及其他以文檔為中心的見解,而不僅僅是提取原始文本。

讀取 API 接受影像和文件作為輸入,支援的文件格式包括 JPEG、PNG、BMP、PDF 和 TIFF。 對於 PDF 和 TIFF 文件,每次請求最多可處理 2,000 頁(免費套餐僅限前兩頁)。 同步 API 適用於小型、僅包含單張影像的場景,而非同步讀取作業則處理更大的、多頁的工作負載。 Azure Vision 支援範圍包括置信度評分、混合語言支援以及一次性識別印刷體或手寫體文字。

類別 Azure Vision OCR IronOCR
架構 雲端 REST API(Azure AI 服務) 本地 .NET 函式庫(NuGet)
OCR引擎 微軟讀取 OCR 模型 針對 .NET 優化的客製版 Tesseract 5 引擎
印刷文字支援英語及其他語言 拉丁字母、西里爾字母、阿拉伯字母、梵文天城體字母——多種語言,包括法語、德語、西班牙語、中文、日語、韓語、俄語、阿拉伯語、印地語 透過 NuGet 語言套件支援 127 種語言——包括拉丁字母、中日韓字母、阿拉伯字母、梵文天城體字母等等。
手寫文字支援英語及其他語言 英文、簡體中文、法文、德文、義大利文、日文、韓文、葡萄牙文、西班牙語 英語和部分語言(透過高級掃描模式)
支援的格式 JPEG、PNG、BMP、PDF、TIFF JPEG、PNG、GIF、TIFF、BMP、PDF(單頁和多頁)
部署 雲端優先;本機環境可使用 Docker 容器(先前的正式版 v3.2) 完全在地化-Windows、macOS、Linux、Docker、Azure、AWS
資料安全 在微軟雲端處理的圖像; 受 Azure 資料策略約束 所有OCR任務均在本地運行-客戶資料絕不會離開機器。
定價 免費套餐:每月 5,000 筆交易; 標準版約1.50美元/1000頁 一次性許可證費用 749 美元起; 無限本地處理
結構化輸出 頁數、文字行數、單字數、邊界框、置信度 頁面、段落、文字行、單字、字元、條碼、可搜尋的PDF
離線能力 需要網路連線(Docker容器除外) 完全離線

Azure 文件智慧是否執行光學字元辨識 (OCR)?

是的。 Azure 文件智慧使用讀取 OCR 模型作為其基礎技術,然後委託給專門的模型進行更高層級的智慧文件處理,例如表格提取、鍵值對識別和實體檢測。 因此,它是從掃描文件、數位文件、HTML 文件和混合內容文件中提取文字的建議方法。 文件智慧功能不僅限於文字識別,還能提供其他以文件為中心的洞察,例如佈局分析和表單欄位對應。

對於專注於文字擷取而無需 Azure 更廣泛文件分析流程的開發人員而言,IronOCR 提供了精簡的替代方案。它可以讀取掃描文本、列印文本和手寫文本,支援所有相同的文件格式,並且完全在 .NET 運行時環境中運行,無需依賴雲端服務,無需配置資源組,也無需管理儲存帳戶。

Azure Vision OCR 可以免費使用嗎?

Azure 為其 Azure Vision 服務提供免費層級 (F0),每月包含 5,000 次 OCR 交易,費率為每分鐘 20 次。 對於實驗和輕量級開發來說,這已經足夠了,但生產工作負載需要標準(S1)層,大約每 1,000 筆交易 1.50 美元。 成本隨銷售量增加而累積; 一個團隊每月處理 100,000 頁,將面臨約 150 美元的經常性費用,此外還有任何暫存文件的 Azure Blob 儲存費用以及在 Azure 入口網站中管理資源組的開銷。

IronOCR 採取了不同的方法:單一永久許可證(起價 749 美元),不收取任何交易費,也不收取任何經常性費用。 對於預算可預測性至關重要的大批量文字擷取或 OCR 輔助使用者體驗,該模型完全消除了成本的不確定性。 免費試用 30 天,提供全部功能供評估。

雲端OCR和本地OCR在文字擷取上有何不同?

兩種解決方案都能處理多種語言的印刷體和手寫體文本,但開發者的體驗卻大相逕庭。

Azure Vision:雲端 OCR API

Azure Vision 讀取 API 需要預先配配電腦視覺資源,透過 API 金鑰啟用訪問,並發出 HTTP 呼叫。 結果以 JSON 格式傳回,包含頁面、文字行、單字和邊界框。 印刷文本的OCR識別支援英語、法語、德語、義大利語、葡萄牙語、西班牙語、中文、日語、韓語以及其他多種使用拉丁字母、西里爾字母、阿拉伯字母和梵文的國際語言。手寫文字擷取支援英文、簡體中文、法文、德文、義大利文、日文、韓文、葡萄牙文和西班牙文。 整個圖像被傳送到 API,讀取的 OCR 模型確定每個文字區塊的最佳處理方法。

// Azure Vision OCR — text extraction from a document image (requires Azure SDK)
using Azure;
using Azure.AI.Vision.ImageAnalysis;
var endpoint = new Uri("https://<your-resource>.cognitiveservices.azure.com/");
var credential = new AzureKeyCredential("<your-api-key>");
var client = new ImageAnalysisClient(endpoint, credential);
// Read operation analyzes the whole image for printed and handwritten text
var result = client.Analyze(
    BinaryData.FromStream(File.OpenRead("invoice.png")),
    VisualFeatures.Read);
foreach (var block in result.Value.Read.Blocks)
    foreach (var line in block.Lines)
        Console.WriteLine(line.Text);
// Azure Vision OCR — text extraction from a document image (requires Azure SDK)
using Azure;
using Azure.AI.Vision.ImageAnalysis;
var endpoint = new Uri("https://<your-resource>.cognitiveservices.azure.com/");
var credential = new AzureKeyCredential("<your-api-key>");
var client = new ImageAnalysisClient(endpoint, credential);
// Read operation analyzes the whole image for printed and handwritten text
var result = client.Analyze(
    BinaryData.FromStream(File.OpenRead("invoice.png")),
    VisualFeatures.Read);
foreach (var block in result.Value.Read.Blocks)
    foreach (var line in block.Lines)
        Console.WriteLine(line.Text);
Imports Azure
Imports Azure.AI.Vision.ImageAnalysis

Dim endpoint As New Uri("https://<your-resource>.cognitiveservices.azure.com/")
Dim credential As New AzureKeyCredential("<your-api-key>")
Dim client As New ImageAnalysisClient(endpoint, credential)

' Read operation analyzes the whole image for printed and handwritten text
Dim result = client.Analyze(BinaryData.FromStream(File.OpenRead("invoice.png")), VisualFeatures.Read)

For Each block In result.Value.Read.Blocks
    For Each line In block.Lines
        Console.WriteLine(line.Text)
    Next
Next
$vbLabelText   $csharpLabel

Azure OCR 輸出

Azure OCR 與 IronOCR:哪種光學字元辨識解決方案最適合 .NET 專案? :圖 1 - Azure OCR 輸出

此程式碼使用 Azure Vision 終端和金鑰建立 ImageAnalysisClient,然後使用 VisualFeatures.Read 標誌呼叫 Analyze 來擷取文字。 結果以資料區塊和文字行的形式呈現,每個資料區塊和文字行都包含位置資料和置信度分數。 檔案大小有限制(免費套餐為 4 MB,標準套餐為 500 MB),每次 API 呼叫都算作一次計費交易。 OCR 雲端 API 可以自動處理擴展,但會引入網路延遲,並且需要網路連線。

IronOCR:本地 .NET OCR 引擎

IronOCR 完全在本機上運行,無需 API 金鑰,無需雲端設置,也無需按頁付費。 透過 NuGet 安裝,載入圖片或 PDF,並提取文字:

//IronOCR— local text extraction from a scanned document with preprocessing
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
using var input = new OcrInput();
input.LoadPdf("invoice.pdf");
// Preprocessing filters improve accuracy on low-quality scans
input.Deskew();
input.DeNoise();
OcrResult result = ocr.Read(input);
// Structured output: pages, paragraphs, lines, words with confidence data
foreach (var page in result.Pages)
    foreach (var line in page.Lines)
        Console.WriteLine($"{line.Text} (Confidence: {line.Confidence:P})");
// Export to searchable PDF for archival
result.SaveAsSearchablePdf("invoice_searchable.pdf");
//IronOCR— local text extraction from a scanned document with preprocessing
using IronOcr;
var ocr = new IronTesseract();
ocr.Language = OcrLanguage.English;
using var input = new OcrInput();
input.LoadPdf("invoice.pdf");
// Preprocessing filters improve accuracy on low-quality scans
input.Deskew();
input.DeNoise();
OcrResult result = ocr.Read(input);
// Structured output: pages, paragraphs, lines, words with confidence data
foreach (var page in result.Pages)
    foreach (var line in page.Lines)
        Console.WriteLine($"{line.Text} (Confidence: {line.Confidence:P})");
// Export to searchable PDF for archival
result.SaveAsSearchablePdf("invoice_searchable.pdf");
Imports IronOcr

' IronOCR— local text extraction from a scanned document with preprocessing
Dim ocr As New IronTesseract()
ocr.Language = OcrLanguage.English
Using input As New OcrInput()
    input.LoadPdf("invoice.pdf")
    ' Preprocessing filters improve accuracy on low-quality scans
    input.Deskew()
    input.DeNoise()
    Dim result As OcrResult = ocr.Read(input)
    ' Structured output: pages, paragraphs, lines, words with confidence data
    For Each page In result.Pages
        For Each line In page.Lines
            Console.WriteLine($"{line.Text} (Confidence: {line.Confidence:P})")
        Next
    Next
    ' Export to searchable PDF for archival
    result.SaveAsSearchablePdf("invoice_searchable.pdf")
End Using
$vbLabelText   $csharpLabel

IronOCR輸出

Azure OCR 與 IronOCR:哪種光學字元辨識解決方案最適合 .NET 專案? :圖 2 -IronOCR的輸出影像

IronTesseract 類別封裝了一個針對 .NET 最佳化的客製化 Tesseract 5 OCR 引擎。 OcrInput 可以載入 PDF 檔案、TIFF 檔案或單一影像; Deskew() 和 DeNoise() 濾波器可以校正掃描文件的旋轉並減少背景雜訊。 OcrResult 物件公開了一個豐富的結構——頁面、段落、文字行、單字和單字——每個結構都有置信度分數。 SaveAsSearchablePdf 方法將 OCR 輸出轉換為可搜尋的索引文檔,以自動化處理取代手動資料輸入工作流程。IronOCR透過專用的 NuGet 套件支援超過 127 種 OCR 支援的語言,包括簡體中文、阿拉伯語和使用梵文的語言。對於單一文件中混合使用的多種語言,可以組合使用多個語言套件。

OCR資料隱私和彈性部署方面又該如何保障?

對於處理敏感記錄的行業而言,OCR 資料隱私是一個至關重要的問題。 使用 Azure Vision OCR,文件影像會傳送到微軟的雲端基礎架構進行處理。 微軟的政策聲明客戶資料不會用於訓練模型,但這些資料仍然會透過外部網路傳輸。 對於有嚴格合規性要求的組織,Azure 提供用於本地部署的 Docker 容器,但這僅限於 Azure Vision 服務的先前正式版 (v3.2),而不是最新的 Foundry Tools 版本。

IronOCR完全避免了這個問題。 由於每個 OCR 任務都保留在您自己的環境中(無論是開發筆記型電腦還是私人伺服器),因此您的資料實際上永遠不會離開您的系統。 這使得醫療保健或金融等行業的合規性大大提高,因為在這些行業中,資料隱私不僅僅是一種偏好,而是法律規定。 這種靈活的部署模型支援 Windows、macOS、Linux、Azure Functions、AWS Lambda 和 Docker,在不犧牲可攜性的前提下確保資料安全。 由於無需外部 API 呼叫,因此消除了延遲、服務中斷和第三方資料處理的擔憂。

對於建立 OCR 輔助使用者體驗或智慧型文件處理管道的 .NET 團隊,請參閱IronOCR 入門指南以了解更多信息,或探索如何在 C# 中讀取掃描文件

哪種解決方案最能處理非文件和複雜場景?

Azure Vision 在非文件、純圖像場景中表現出色,能夠識別路標、產品標籤和自然場景中的書寫風格中的文字。 Azure AI Foundry Tools 平台提供統一的體驗,可將 Azure Vision 服務與其他 Azure AI 功能(如自訂模型、空間分析和內容審核)結合。 對於已經投資 Azure AI 平台的組織而言,這種生態系統優勢至關重要。

同時,IronOCR 在 .NET 特定工作流程中佔據主導地位。 它支援讀取條碼和二維碼以及文本,提供圖像預處理過濾器以糾正低品質掃描,並將結果輸出為包含段落、行和單字的結構化資料。IronOCR可以大規模處理 PDF 文件,處理多頁 PDF 文件,沒有頁數限製或按交易計費,並且可以產生可搜尋的 PDF 文件,作為任何掃描輸入的數位版本。

如何選擇適合的OCR方法

對於評估兩個平台上 OCR 通用功能的 .NET 開發人員來說,最終的決定通常取決於三個因素:

*成本模式*:Azure 的按交易付費定價模式適合低量或零星使用。IronOCR的永久許可更經濟實惠,適用於持續、大批量的文本提取。 資料駐留**:如果客戶資料必須保留在本地或私有雲中,IronOCR 的完全本地處理是更直接的途徑。 *生態系統契合度:與 Azure AI 服務和 Foundry Tools 深度整合的團隊可能會喜歡統一的雲端平台。 建立獨立 .NET 應用程式的團隊可以受益於IronOCR的零依賴性、基於 NuGet 的設定。

這兩個平台都提供強大的文字辨識功能,並支援多種語言,但IronOCR結合了本地處理、一次性定價、127 種語言套件和 .NET 原生 API,對於想要完全控制其 OCR 流程的開發人員來說,具有明顯的優勢。

準備好觀看IronOCR的精彩表現了嗎? 立即開始 30 天免費試用,或探索各種授權選項,找到最適合生產部署的方案。

!{--01001100010010010100001001010010010000010101001001011001010111110100011101000101010101 01000101111101010011010101000100000101010010010101000100010101000100010111110101011101001000110 1010101000100100001011111010100000101001001001111010001000101010101010000110101010100101010101011 10101010001010010010010010010000010100110001011111010000100100110001001111101000011010010111111010000110100101110--

常見問題解答

與 Azure Vision OCR 相比,使用 IronOCR 有哪些優點?

IronOCR 提供本地 .NET 庫解決方案,可更好地控制資料隱私並降低延遲。對於需要快速處理和安全資料處理,但又不想依賴網路連線的開發人員來說,它是理想之選。

IronOCR 的定價與 Azure Vision OCR 相比如何?

IronOCR 通常採用一次性授權費,與 Azure Vision OCR 的訂閱定價模式相比,可實現長期節省,而 Azure Vision OCR 的訂閱定價模式會隨著使用量的增加而產生更高的成本。

IronOCR 是否適用於大規模生產工作負載?

是的,IronOCR 的設計旨在高效處理大規模生產工作負載。其本地部署確保了針對高需求應用進行效能最佳化。

Azure Vision OCR 和 IronOCR 在資料安全方面有何不同?

IronOCR 在本地處理數據,確保敏感資訊保留在您的基礎架構內。相較之下,Azure Vision OCR 涉及雲端處理,可能會引發資料傳輸和儲存安全性的擔憂。

使用 IronOCR 時,部署方面有哪些複雜之處?

IronOCR 可以很方便地作為 .NET 應用程式中的本機程式庫進行部署,從而最大限度地減少與雲端服務整合和網路依賴性相關的複雜性。

IronOCR是否支援多種OCR語言?

是的,IronOCR 支援多種語言,使其能夠靈活應用於需要跨不同語言資料集進行 OCR 功能的應用。

IronOCR 能否整合到現有的 .NET 應用程式中?

IronOCR 的設計旨在輕鬆整合到現有的 .NET 應用程式中,使開發人員能夠在不進行徹底改造的情況下,透過高級 OCR 功能增強其軟體。

IronOCR提供哪些類型的支援和更新?

IronOCR 提供定期更新和專門的技術支持,以確保用戶能夠獲得最新功能並在需要時獲得幫助。

與 Azure Vision OCR 相比,IronOCR 在延遲處理方面表現如何?

IronOCR 的本地處理顯著降低了延遲,可提供即時 OCR 結果,而不會像 Azure Vision OCR 等基於雲端的解決方案那樣延遲。

IronOCR是否相容於多種影像格式?

是的,IronOCR 支援多種影像格式,能夠對 .NET 應用程式中常用的各種檔案類型進行無縫的 OCR 處理。

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

鋼鐵支援團隊

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