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

IronOCR vs Azure OCR PDF:哪種解決方案能更好地萃取文字?

IronOCR與 Azure OCR PDF:哪個方案提取文字效果更好? :圖 1 - IronOCR與 Azure OCR PDF

當開發人員需要從 PDF 文件和圖像中提取文字時,有兩個突出的選擇:微軟基於雲端的 Azure AI 文件智慧和 IronOCR 的本機.NET庫。 兩者都提供光學字元辨識 (OCR) 功能,但在部署模式、定價結構和實施便利性方面存在顯著差異。

IronOCR直接在您的伺服器或工作站上處理文件-無需雲端帳戶,無需按頁付費,資料也不會離開您的環境。 Azure 文件智慧會將您的文件傳送到微軟的雲端基礎架構,按分析的頁面收費,並且需要有效的網路連線。 本次比較檢視了每個解決方案如何處理 PDF 和 TIFF 檔案、建立可搜尋的 PDF 文件、支援多種語言以及融入.NET開發工作流程的情況。

立即開始使用 IronOCR 的免費試用版,在您自己的專案中測試這些功能。

如何快速比較這兩種 OCR 解決方案?

IronOCR與 Azure 文件智能-功能對比
特徵 IronOCR Azure 文件智能
部署 本地機器/本地部署 基於雲端的 API
需要網路連線 是的
定價模式 一次永久許可 按頁付費(每1000頁1.50美元至10美元)
可搜尋的 PDF 輸出 內建的單方法調用 需要其他庫
支援的語言 125+種語言 100多種語言
文件格式 PDF、TIFF、PNG、JPG、BMP、GIF PDF、TIFF、JPEG、PNG、BMP
免費套餐 30 天試用期 每月500頁
資料隱私 完全在地化-資料絕不離開伺服器 傳送到微軟雲端的數據

雲端OCR處理和本地OCR處理的主要差異是什麼?

根本差別在於文字擷取發生的位置。 Azure AI 文件智慧(以前稱為 Azure 表單識別器)在微軟的雲端基礎架構上處理文件。 開發人員將文件上傳到 Azure 入口網站或透過讀取 API 傳送文件,該服務將遠端分析影像和掃描文件。 這種方法需要網路連線、有效的 Azure 憑證,並且會產生按頁計費的費用,費用會隨著文件量的增加而增加。

IronOCR完全在您的本機電腦或伺服器上運行,因此非常適合有資料隱私要求或實體隔離環境的組織。 該程式庫基於Tesseract OCR (最廣泛使用的開源 OCR 引擎之一)構建,並在其基礎上添加了完善的.NET API。 該程式庫無需呼叫外部 API 即可運行,使開發人員能夠完全掌控文件處理流程。對於桌面應用程式、Web 應用程式或批次處理作業,本地處理消除了網路延遲,並擺脫了對第三方服務正常運行時間的依賴。

Azure Vision 和 Azure Form 服務都屬於更廣泛的 Azure AI 服務範疇。 Azure 中的電腦視覺功能可以分析影像以用於一般用途,而文件智慧則專門處理從混合語言和複雜佈局的文件中提取文字。 已經深度投資於 Azure 生態系統的組織可能更喜歡這種整合方式,但這種整合方式會帶來持續的成本和對雲端的依賴。

IronOCR 的架構非常適合那些對成本可預測性和資料主權要求極高的場景。永久許可證即可覆蓋無限頁面處理量,這意味著與按頁付費的雲端服務相比,高容量應用程式隨著時間的推移將顯著降低成本。

如何透過NuGet安裝IronOCR ?

在編寫任何 OCR 程式碼之前,您需要將IronOCR NuGet套件新增至您的.NET專案。 最簡單的方法是使用NuGet套件管理器控制台:

Install-Package IronOcr
Install-Package IronOcr
SHELL

或者,使用.NET CLI:

dotnet add package IronOcr
dotnet add package IronOcr
SHELL

安裝完成後,請先設定許可證密鑰,然後再呼叫任何IronOCR方法。 您可以在應用程式啟動程式碼中執行此操作:

IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
IronOcr.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

在開發過程中,您可以免費試用 30 天,無需輸入金鑰。 試用版水印輸出正常,但其他功能完全可用於評估。

要使用 Azure 文件智能,您需要一個有效的 Azure 訂閱、在 Azure 入口網站中建立的文件智能資源,以及單獨安裝的 Azure.AI.FormRecognizer NuGet套件。 您還需要在應用程式設定中安全地儲存和管理端點 URL 和 API 金鑰。

如何從PDF和TIFF文件中提取文字?

使用IronOCR提取文本

IronOCR提供直接 API,用於從各種文件格式中提取文字。 以下程式碼示範如何在.NET 10 中使用頂層語句處理掃描的 PDF 檔案:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("document.pdf");
var result = ocr.Read(input);

Console.WriteLine($"Pages processed: {result.Pages.Length}");
Console.WriteLine(result.Text);
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("document.pdf");
var result = ocr.Read(input);

Console.WriteLine($"Pages processed: {result.Pages.Length}");
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

這段程式碼會載入一個 PDF 文件,處理所有頁面,並輸出提取出的文字。 OcrInput 類別支援 PDF 文件、多頁 TIFF 檔案以及包括 PNG、JPEG、JPG 和 BMP 在內的標準影像格式。影像尺寸和品質由程式自動處理,並且該庫應用內建的影像預處理功能來提高低品質掃描件的辨識精度。

特別是對於文件歸檔工作流程中常見的 TIFF 文件, IronOCR可以原生處理多幀 TIFF 影像,無需額外配置即可從每個畫面中提取文字:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("archive-scan.tiff");
var result = ocr.Read(input);

foreach (var page in result.Pages)
{
    Console.WriteLine($"Frame {page.PageNumber}: {page.Text}");
}
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("archive-scan.tiff");
var result = ocr.Read(input);

foreach (var page in result.Pages)
{
    Console.WriteLine($"Frame {page.PageNumber}: {page.Text}");
}
$vbLabelText   $csharpLabel

OCR 輸出

 IronOCR與 Azure OCR PDF:哪個方案提取文字效果更好? :圖 2 - IronOCR輸出

您還可以在讀取之前應用影像濾鏡來提高困難掃描的準確性——傾斜校正、降噪、二值化和對比度校正都可透過 OcrInput API 實現。

使用 Azure 文件智慧提取文本

若要使用 Azure 文件智能,您必須先在 Azure 入口網站中建立資源,設定驗證憑證,然後安裝 Azure SDK。 讀取 API 呼叫使用非同步操作:

using Azure;
using Azure.AI.FormRecognizer.DocumentAnalysis;

var client = new DocumentAnalysisClient(
    new Uri(endpoint),
    new AzureKeyCredential(key));

using var stream = File.OpenRead("document.pdf");
var operation = await client.AnalyzeDocumentAsync(
    WaitUntil.Completed, "prebuilt-read", stream);

var result = operation.Value;
foreach (var page in result.Pages)
{
    foreach (var line in page.Lines)
    {
        Console.WriteLine(line.Content);
    }
}
using Azure;
using Azure.AI.FormRecognizer.DocumentAnalysis;

var client = new DocumentAnalysisClient(
    new Uri(endpoint),
    new AzureKeyCredential(key));

using var stream = File.OpenRead("document.pdf");
var operation = await client.AnalyzeDocumentAsync(
    WaitUntil.Completed, "prebuilt-read", stream);

var result = operation.Value;
foreach (var page in result.Pages)
{
    foreach (var line in page.Lines)
    {
        Console.WriteLine(line.Content);
    }
}
$vbLabelText   $csharpLabel

管理憑證、處理非同步操作以及遍歷回應資料結構都會增加複雜性。 任何網路中斷或 Azure 服務中斷都可能導致提取作業失敗,因此生產應用程式需要重試邏輯。

哪種方案能創建更易於搜尋的 PDF 文件?

將掃描文件轉換為可搜尋的 PDF 是文件歸檔、法律合規和全文搜尋索引的常見要求。 IronOCR透過專門的SaveAsSearchablePdf方法提供此功能:

using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("scanned.pdf");
var result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Console.WriteLine("Searchable PDF created successfully.");
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput("scanned.pdf");
var result = ocr.Read(input);
result.SaveAsSearchablePdf("searchable-output.pdf");

Console.WriteLine("Searchable PDF created successfully.");
$vbLabelText   $csharpLabel

建立可搜尋的 PDF

 IronOCR與 Azure OCR PDF:哪個解決方案提取文字效果更好? :圖 3 - 使用IronOCR建立的可搜尋 PDF

此功能可將任何掃描的 PDF 文件轉換為完全可搜尋的文檔,使用戶能夠搜尋、選擇和複製文字。 該過程保留了原始文件的視覺外觀,同時嵌入了從 OCR 結果中提取的不可見文字圖層。 這是一個單一的方法調用,它在內部處理所有事情。

Azure 文件智慧不會提供直接建立可搜尋 PDF 的功能。 要使用 Azure 實現相同的結果,開發人員必須從 API 回應中提取文字數據,然後使用單獨的 PDF 庫(例如 iTextSharp 或 PdfSharp)來重建帶有嵌入文字層的文件。 這會為您的專案增加額外的依賴項、開發時間和維護負擔。

對於經常轉換大量掃描文件(發票、合約、歷史記錄)的組織而言, IronOCR的單一方法顯著減少了整合工作量。

文件處理價格有何差異?

定價結構是這兩種解決方案之間最顯著的實際差異之一。 Azure 的按頁面付費模式是根據所使用的特定預先建立模型來收費的。 根據微軟官方 Azure 定價頁面顯示,讀取 API 的費用約為每 1000 頁 1.50 美元,而表單和發票的預先建置模型的費用高達每 1000 頁 10 美元。 大用戶可以透過協商基於承諾的定價方案來獲得優惠價格,但只要應用程式運行,成本就會持續累積。

對於每月處理 10 萬頁文件的開發團隊(對於企業文件工作流程來說,這只是一個適中的量),Azure 的費用可能每月在 150 美元到 1000 美元之間,而且這種情況會一直持續下去。

IronOCR提供永久許可證,單一開發者只需一次性付費即可獲得。 這項一次性投資涵蓋無限頁面處理,無需支付任何後續費用。 有關當前的完整定價詳情,請訪問IronOCR許可頁面。 對於每月分析數千份文件的應用程式來說,與 Azure 按頁收費相比,盈虧平衡點通常在營運的最初幾個月內即可達到。

兩種方案均支援多種語言的印刷體和手寫體文字的光學字元辨識。 IronOCR提供125 種語言包,包括支援單一文件中的混合語言。 您可以根據應用程式的需求,單獨下載語言資料文件,也可以下載軟體包。

語言和多語言支援是如何運作的?

IronOCR中的語言配置

IronOCR透過 Tesseract 語言資料檔案支援超過 125 種語言。 配置 IronTesseract 實例時,您可以指定一種或多種語言:

using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;

// For multi-language documents:
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput("multilingual-doc.pdf");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
using IronOcr;

var ocr = new IronTesseract();
ocr.Language = OcrLanguage.EnglishBest;

// For multi-language documents:
ocr.AddSecondaryLanguage(OcrLanguage.French);

using var input = new OcrInput("multilingual-doc.pdf");
var result = ocr.Read(input);
Console.WriteLine(result.Text);
$vbLabelText   $csharpLabel

語言包透過單獨的NuGet套件安裝—例如,IronOcr.Languages.French 用於法語語言支援。 這樣既能保持核心庫的輕量級,又能讓你只加入應用程式所需的語言。

語言文件提供了可用語言包及其對應的NuGet包名稱的完整清單。 對於混合文字或未知語言內容的文檔, IronOCR也支援自動語言偵測配置。

Azure 文檔智能中的語言支持

Azure 文件智慧的讀取 API 支援 100 多種印刷語言以及其中一部分語言的手寫辨識功能。 語言偵測在雲端自動進行-大多數情況下,開發人員無需明確指定語言。 這種自動偵測方式雖然方便,但會增加每頁的成本,並且需要將所有文件傳輸到微軟的伺服器。

對於包含敏感資訊的文件(財務記錄、醫療保健資料、法律合約),將內容傳送到雲端點會引入本地處理完全避免的資料治理問題。

如何處理批量文件?

IronOCR的批量處理

對於大批量工作流程, IronOCR使用標準的.NET並行處理有效率地處理大量資料。 由於該程式庫在本機上運行,因此您可以並行運行多個 OCR 作業,而不會受到速率限製或 API 限制:

using IronOcr;
using System.Collections.Generic;
using System.Threading.Tasks;

var pdfFiles = Directory.GetFiles("input-folder", "*.pdf");
var results = new List<string>();

await Parallel.ForEachAsync(pdfFiles, async (file, ct) =>
{
    var ocr = new IronTesseract();
    using var input = new OcrInput(file);
    var result = ocr.Read(input);
    lock (results) { results.Add(result.Text); }
});

Console.WriteLine($"Processed {results.Count} documents.");
using IronOcr;
using System.Collections.Generic;
using System.Threading.Tasks;

var pdfFiles = Directory.GetFiles("input-folder", "*.pdf");
var results = new List<string>();

await Parallel.ForEachAsync(pdfFiles, async (file, ct) =>
{
    var ocr = new IronTesseract();
    using var input = new OcrInput(file);
    var result = ocr.Read(input);
    lock (results) { results.Add(result.Text); }
});

Console.WriteLine($"Processed {results.Count} documents.");
$vbLabelText   $csharpLabel

此模式可同時處理整個資料夾中的 PDF 文件,僅受電腦 CPU 和記憶體資源的限制,而不受 API 速率限製或網路頻寬的限制。

對於更進階的批次處理場景, IronOCR操作指南涵蓋了批次處理模式、進度追蹤和輸出管理。

使用 Azure 文件智慧進行批次處理

Azure 文件智慧支援批次處理,但每個文件都需要單獨呼叫 API 或使用批次分析文件 API。 高容量作業會受到 Azure 的速率限制-標準層通常為每秒 15 個請求。 每天處理數萬份文件的組織需要實施排隊、重試邏輯和限流管理,以保持在服務限制範圍內。

對於可預測的高容量工作負載,我們提供基於承諾的定價方案,但這需要預先簽訂承諾協議,並受微軟服務條款的約束。

下一步計劃是什麼?

IronOCR為.NET開發人員提供了一條直接的途徑,可以準確地提取本機文件文本,而無需依賴雲端或按頁付費。 對於建立處理 PDF、TIFF 或掃描影像的應用程式的團隊而言,與基於雲端的 OCR 服務相比,永久授權模式和單一方法可搜尋 PDF 建立降低了成本和整合複雜性。

開始探索 IronOCR 的各項功能:

-透過NuGet下載並安裝IronOCR -- 完整安裝指南和先決條件 -閱讀操作指南-常見 OCR 任務的逐步說明 -查看語言包-- 瀏覽所有 125 多種支援的語言 -探索可搜尋 PDF 建立-只需一次方法呼叫即可轉換掃描文檔 -查看IronOCR許可協議-個人、團隊和組織的一次性永久許可 -瀏覽程式碼範例-可在您的專案中直接使用的真實 OCR 模式

Azure 文件智能對於已經投資於微軟生態系統或需要特定預先建置表單模型的組織仍然具有重要意義。 然而,對於簡單的 OCR 任務、可搜尋的 PDF 創建以及可預測的營運成本,IronOCR 的本地處理模型和對開發者友好的 API 使其成為.NET專案的更佳選擇。

請注意Microsoft 和 Azure 是微軟公司的註冊商標。 本網站與微軟公司沒有任何關聯,也未獲得微軟公司的認可或贊助。 所有產品名稱、標誌和品牌均為其各自所有者的財產。 比較僅供參考,反映的是撰寫本文時可公開取得的資訊。

常見問題解答

Azure OCR PDF 和 IronOCR 的主要差異是什麼?

主要區別在於它們的定價模式、整合便利性以及語言支援和文字擷取準確性等特定功能。

IronOCR 在 PDF 文字擷取方面與 Azure OCR PDF 相比有何不同?

IronOCR 提供強大的 PDF 文字擷取功能,包括進階影像預處理和對多種語言的支持,與 Azure OCR PDF 相比,可提供更準確的結果。

是否有使用 IronOCR 的程式碼範例?

是的,IronOCR 提供了全面的 C# 程式碼範例,以幫助開發人員輕鬆地將 OCR 功能整合到他們的 .NET 應用程式中。

Azure OCR PDF 和 IronOCR 的定價模式是什麼?

Azure OCR PDF 通常採用按需付費的定價模式,而 IronOCR 提供靈活的授權選項,適合不同的專案規模。

IronOCR 能否建立可搜尋的 PDF 檔案?

是的,IronOCR能夠建立可搜尋的PDF,從而更容易在文件中找到文字。

哪種OCR解決方案提供更好的語言支援?

IronOCR 提供廣泛的語言支援,包括多語言識別,與 Azure OCR PDF 相比,這有利於滿足各種文字擷取需求。

IronOCR 是否容易整合到 .NET 應用程式中?

IronOCR 旨在與 .NET 應用程式無縫集成,並提供簡單易懂的安裝和使用說明。

Azure OCR PDF 和 IronOCR 的文字擷取準確率相比如何?

IronOCR 以其先進的影像處理能力而以文字擷取的高精度而聞名,在某些情況下,其精確度甚至可能超過 Azure OCR PDF。

IronOCR是否為開發者提供支援?

是的,IronOCR 為開發者提供了極佳的支持,包括詳細的文件和快速回應的技術支援。

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

IronOCR 提供許多優勢,例如高階文字擷取功能、與 .NET 的更好整合、全面的語言支援以及具有競爭力的定價方案。

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

鋼鐵支援團隊

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