IRONSOFTWAREHOME
與其他組件的比較

IronOCR與AWS Textract OCR的比較

Kannaopat Udonpant
Kannapat Udonpant
Updated: 2026年6月28日

什麼是OCR?

將文字圖像轉換為機器可讀的文字格式的過程稱為光學字元識別 (OCR)。 例如,如果您掃描一份表格、發票或收據,您的電腦會將掃描保存為圖像檔案。圖像檔案中的資料無法使用文字編輯器進行編輯、搜尋或計算。 但是,您可以使用OCR解決方案將圖片檔案轉換為文字文件,其內容將以文字資料的形式儲存。

在這個現代時代,大多數商業工作流程涉及從印刷媒體接收資訊。 不同的文件,如紙質表格、發票、掃描的法律文件、表格提取和列印的文字或合約,都是業務流程的一部分。 此外,將這類文件內容數位化會生成帶有隱藏文字的圖像。 圖像中的文字無法像文字文件一樣被文字處理工具處理。 OCR技術通過將文字圖像轉換為可以由其他業務軟體分析的文字資料來解決這個問題。

OCR 如何運作?

OCR引擎透過以下步驟運作:

影像獲取

在此過程中,掃描儀讀取文件並將其轉換為二進位資料。 OCR軟體識別掃描的影像,並將亮色區域分類為背景,將暗色區域分類為文字。

預處理

OCR軟體首先清理圖像並移除錯誤,以準備其資料進行讀取。

文字識別

用於文字識別的兩種主要OCR演算法型別是模式匹配和特徵提取。

模式匹配

字元圖片或字形在模式匹配過程中被單獨隔離並與先前記錄的字形進行比較。

特徵提取

透過特徵提取的過程,字形被分解成線條、封閉環、線條方向和線條連接等特徵。

後期處理

該技術在分析後將檢索到的文字資料轉換為數位文件。 某些OCR系統可以建立包含掃描文件的前後版本的註釋PDF文件。

本文將討論兩個最流行的OCR應用程式和文件庫之間的比較:

IronOCR AWS OCR Textract

IronOCR程式庫

IronOCR是一個C# .NET程式庫,提供掃描、搜尋、讀取圖片和PDF的服務。 它附帶超過125個全球語言包。 輸出是以文字、結構化資料或可搜尋的PDF形式實現的。 支援 .NET 版本如 6、5、Core、Standard 和 Framework。

IronOCR 的獨特在於能夠自動檢測並提取從非完美掃描的影像和文件中的資料。 'IronTesseract' 類別擁有最簡單易用的API。 它提供了在任何平台上已知的最先進版本的Tesseract,具有更高的速度、準確性,以及一個本地DLL和API。

IronOCR還可以從所有圖像格式中掃描條碼和QR碼,並使用最新的Tesseract 5引擎讀取文字和執行PDF掃描。

功能

  • 它專門為.NET應用程式製作。 它可以支援125種不同的語言。 IronOCR支持阿拉伯語、中文、英語、芬蘭語、法語、德語、日語以及許多其他語言。 它可以校正傾斜圖像的位置並去除圖像中的噪點以獲得精確的輸出。 它在低解析度和低DPI的圖像中表現非常出色。 它可以讀取多種型別的QR Code和條碼。 它也支援GIF和TIFF格式。 它允許多個執行緒同時運行。 這是一個在其他OCR程式庫中不存在的卓越功能。 這使流程更加順暢。
  • 它可以輕鬆地對PDF文件執行OCR,並使用OCR導出可搜尋的PDF文件。

現在,讓我們來看看AWS OCR。

AWS OCR Textract

Amazon 的 AWS Textract 是一種機器學習 (ML) 服務,可自動從掃描的文件中提取文字和資料。 它不僅僅是簡單的光學字元識別 (OCR),還利用深度學習技術來識別、理解和萃取表單和表格中的資料。

AWS OCR Textract使用機器學習來讀取和處理任何型別的文件,精確提取文字、表格資料和其他資料,無需人工努力。 Textract可以快速完成資料提取工作,而不需要花費幾小時或幾天的時間。 此外,您可以使用 Amazon 增強人工智慧 (AI) 新增人工審查,以監督您的模型並檢查敏感資料。

功能

檢測各類文件中的文字,包括財務報告、醫療記錄、表格和稅單。using Document Analysis API 從結構化資料的文件中提取文字、表單和表格資料。 使用Analyze Document API中的查詢功能,指定並提取文件中的資訊。

  • 使用Analyze Expense API處理發票和收據。
  • 處理美國簽發的身份證件,例如駕駛執照和護照。 政府,使用Analyze ID API。 可擴展的文件分析可以加速決策制定。

文章的其餘部分如下:

  1. 建立Visual Studio專案
  2. 安裝IronOCR
  3. 安裝 AWS OCR Textract
  4. PDF轉換為文字
  5. 圖片轉文字
  6. 條碼及QR碼轉換為文字
  7. 授權
  8. 結論

1. 建立 Visual Studio 專案

本教程將使用Visual Studio 2022版本,假設您已安裝它。

  • 開啟 Visual Studio 2022。
  • 產生一個新的.NET Core專案,然後選擇主控台應用程式。

控制台應用程式

給專案命名。 例如,TextReader。

  • 最新且最穩定的.NET框架版本是6.0。我們將使用這個版本。

.NET Framework 單擊建立按鈕,專案將被建立。

接下來,我們將逐一安裝所需的程式庫。

2. 安裝IronOCR

可以通過四種方式下載和安裝IronOCR程式庫。 如下:

  1. 使用 Visual Studio 的 NuGet 套件管理器。
  2. 通過NuGet網站直接下載。
  3. 通過IronOCR網頁直接下載。
  4. 在Visual Studio中使用命令列。

2.1. 使用 Visual Studio NuGet 管理器

Visual Studio NuGet封裝管理器可用於將IronOCR整合到C#專案中。

  1. 展開工具,或右鍵點擊方案總管。
  2. 擴展NuGet套件管理器。
  3. 點擊"管理方案的 NuGet 套件"或在方案總管中點擊"管理 NuGet 套件"。
Manage NuGet Package

管理NuGet套件

之後,將在搜尋欄中出現一個新窗口:輸入 IronOCR。 勾選右側的專案框並點擊安裝。

瀏覽IronOCR

瀏覽IronOCR

透過使用此方法,開發者可以安裝IronOCR程式庫以及開發者選擇的任何語言包。

2.2. 通過NuGet網站直接下載

您可以按照以下說明,從NuGet網站直接下載IronOCR:

  1. 瀏覽連結 "https://www.nuget.org/packages/IronOcr/"。
  2. 從右側選單中選擇下載套件選項。
  3. 雙擊下載包。 它將自動安裝。
  4. 接下來,重新載入解決方案並開始在專案中使用它。

2.3. 通過IronOCR網頁直接下載

開發者可以使用此連結,直接從網站下載IronOCR程式庫。

  1. 從方案視窗中右鍵點擊專案。
  2. 然後,選擇選項參考,並瀏覽下載的參考位置。
  3. 接下來,按一下確定來新增參考。

2.4. 在Visual Studio中使用命令列

在 Visual Studio 中,請前往 工具-> NuGet 套件管理員 -> 套件管理員主控台。 2. 在套件管理員主控台標籤中輸入以下行:

PM > Install-Package IronOcr

現在套件將下載/安裝在當前專案中,並可準備使用。

Package Manager Console

控制台應用程式

Install IronOCR

控制台應用程式

輸入命令後,按下 Enter,即可安裝。

2.5. 新增 IronOCR 命名空間

在程式中包含這行程式碼以使用IronOCR:

using IronOcr;

現在讓我們安裝AWS Textract。

3. 安裝AWS Textract OCR

在您首次使用Amazon Textract之前,請完成以下任務:

  1. 註冊AWS服務。
  2. 建立IAM使用者。

當您成功註冊帳戶並建立IAM使用者後,您現在可以在AWS控制台中設置存取金鑰,以便使用C#以程式化方式存取API。 您將需要:

  • AccessKeyId SecretAccessKey
  • RegionEndPoint(您的存取區域)- 在此範例中:AFSouth1

3.1. 使用 NuGet 套件管理器

您可以從NuGet套件管理員下載和安裝AWS Textract SDK。

NuGet套件管理器

NuGet套件管理器

  • 單擊瀏覽並搜尋AWS Textract:
AWS Textract

AWS Textract

3.2. 新增AWS OCR命名空間

要使用AWS Textract,請包含以下命名空間:

using Amazon.Textract;
using Amazon.Textract.Model;

4. PDF 文件轉換為文字

這兩個程式庫都可以從PDF文件中提取文字。 讓我們一一查看程式碼。

4.1. 使用 IronOCR

IronOCR允許使用先進的Tesseract從PDF文件格式中識別和讀取文字。 以下簡單的程式碼用於提取資訊:

var Ocr = new IronTesseract();
using (var input = new OcrInput())
{
    input.AddPdf("example.pdf", "password");
    // We can also select specific PDF page numbers to OCR
    var Result = Ocr.Read(input);
    Console.WriteLine(Result.Text);
    Console.WriteLine($"{Result.Pages.Count()} Pages");
    // Read every page of the PDF
}

該程式碼簡單、乾淨且非常易於理解和使用。

輸入PDF文件

範例PDF

範例PDF

輸出

IronOCR輸出

IronOCR輸出

4.2. AWS Textract

Amazon Textract 使您可以輕鬆將文件文字偵測和分析功能新增到您的應用程式中。 以下程式碼用於讀取PDF,並傳遞同一個PDF:

public static async void ReturnResult()
{
    AmazonTextractClient client = new AmazonTextractClient("your_access_key_id", "your_secret_access_key", Amazon.RegionEndpoint.AFSouth1);
    var request = new StartDocumentTextDetectionRequest();
    request.DocumentLocation = new DocumentLocation
    {
        S3Object = new S3Object
        {
            Bucket = "your_bucket_name",
            Name = "your_bucket_key"
        }
    };
    var id = await client.StartDocumentTextDetectionAsync(request);
    var jobId = id.JobId;
    var response = client.GetDocumentTextDetectionAsync(new GetDocumentTextDetectionRequest{
        JobId = jobId
    });
    response.Wait();
    if (response.Result.JobStatus.Equals("SUCCEEDED"))
    {
        foreach (var block in response.Result.Blocks)
        {
            if (block.BlockType == "WORD" || block.BlockType == "PAGE" || block.BlockType == "LINE")
            {
                Console.WriteLine(block.Text);
            }
        }
    }
}

static void Main(String[] args)
{
    ReturnResult();
}

這段程式碼有些棘手,較為冗長,在傳遞和檢索物件時需要注意。 首先,我們必須建立一個Region。 然後我們必須使用StartDocumentTextDetectionRequest()方法發起請求。 請求物件然後使用桶名稱和金鑰設置DocumentLocation。 然後將此請求傳遞給 StartDocumentTextDetectionAsync() 方法。 由於這是一個非同步方法,我們必須使用ReturnResult函式設為非同步。 成功後,結果將返回且jobId會被保存。 將jobId傳遞給SUCCEEDED響應。 foreach 迴圈用來遍歷每個區塊並檢查其是否為"WORD"、"PAGE"或"LINE",然後輸出文字識別結果。 最後,在Main方法中調用此方法以進行文件處理。

輸出

輸出與IronOCR非常相似。

AWS Textract輸出

AWS Textract輸出

5. 圖片轉文字

從圖像中讀取資料是具有挑戰性的,因為圖像的品質在提取資訊時扮演著關鍵角色。 這兩個程式庫都提供提取文字的功能。 在這裡我們將使用png檔案。

5.1. 使用 IronOCR

這段程式碼與之前的幾乎相似。 此處,AddPDF 方法被更換為 AddImage 方法。

var Ocr = new IronTesseract();
using (var Input = new OcrInput())
{
    Input.AddImage("test-files/redacted-employmentapp.png");
    //... you can add any number of images
    var Result = Ocr.Read(Input);
    Console.WriteLine(Result.Text);
}

輸入圖片

已編輯的員工資料

已編輯的員工資料

輸出

輸出的結果乾淨且符合原始圖像,只需幾行簡單程式碼即可實現完美的輸出。

圖片輸出

圖片輸出

5.2. 使用 AWS Textract

以下程式碼有助於檢測圖像中的文字:

public static async void ReturnResult()
{
    AmazonTextractClient client = new AmazonTextractClient("your_access_key_id", "your_secret_access_key", Amazon.RegionEndpoint.AFSouth1);
    var request = new DetectDocumentTextRequest();
    request.Document = new Document
    {
        Bytes = new MemoryStream(File.ReadAllBytes(@"test-files/redacted-employmentapp.png"))
    };    
    var result = await client.DetectDocumentTextAsync(request);
    foreach (var block in result.Blocks)
    {
        if (block.BlockType == "WORD")
        {
            Console.WriteLine(block.Text);
        }
    }
}

static void Main(String[] args)
{
    ReturnResult();
}

再次,這段程式碼與之前的幾乎相似。 在此,我們必須使用DetectDocumentTextRequest()方法啟動請求。 請求物件然後通過讀取所有的位元組來設置文件。 此請求然後傳遞給DetectDocumentTextAsync()方法。 由於這是一個非同步方法,我們必須使用ReturnResult函式設為非同步。 成功後,結果將以區塊形式返回。 foreach 迴圈用於遍歷每個區塊並檢查其是否為 "WORD",然後列印出文字識別結果。 最後,在Main方法中調用此方法以進行文件處理。

輸出與IronOCR相似,但首先需要將檔案上傳至AWS桶。

6. 條碼和QR碼轉換為文字

IronOCR的一個獨特功能是能在掃描文字時,從文件中讀取條碼和QR Code。 OcrResult.OcrBarcode 類別的實例為開發人員提供有關每個掃描的條碼的詳細資訊。 AWS Textract不提供此功能。

IronOCR的程式碼如下所示:

var Ocr = new IronTesseract();
Ocr.Configuration.ReadBarCodes = true;
using (var input = new OcrInput())
{
    input.AddImage("test-files/Barcode.png");
    var Result = Ocr.Read(input);
    foreach (var Barcode in Result.Barcodes)
    {
        Console.WriteLine(Barcode.Value);
        // type and location properties also exposed
    }
}

程式碼是自我解釋且易於理解的。

7. 授權

IronOCR 是一個提供開發者免費授權的程式庫。 它也有一個獨特的定價結構。 Lite套裝方案起價為$999,沒有隱藏費用。 SaaS和OEM產品的再分發也是可能的。 所有授權均附有 30 天退款保證、一年的軟體支援與升級、開發/測試/生產有效性,並提供永久授權(一次性購買)。 要查看IronOCR的完整價格結構和授權詳情,請點擊這裡

IronOCR 定價方案

IronOCR 定價方案

您可以僅需一次性購買,即可獲得SaaS和OEM產品的免版稅再分發服務$1,599。

SAAS服務

SAAS服務

AWS Textract API 為開發者提供 AWS 免費層服務。您可以免費開始使用 Amazon Textract。 免費方案持續三個月,價格如下所示。

價格列表

價格清單

價格清單

您可以從這個連結查看價格詳情。 此外,您還可以使用價格計算器按需調整價格。

8. 結論

IronOCR為C#開發者提供了我們所知在任何平台上最先進的Tesseract API。 IronOCR可以部署在Windows、Linux、Mac、Azure、AWS、Lambda上,並支援*.NET Framework專案以及.NET Standard.NET Core*。 我們也可以在OCR掃描中讀取條碼,甚至將我們的OCR匯出為HTML和可搜尋的PDF。

Amazon Textract 使您可以輕鬆將文件文字偵測和分析功能新增到您的應用程式中。 Amazon Textract基於經過驗證的高度可擴展的深度學習技術,該技術由亞馬遜的計算機視覺科學家開發,每天用來分析數十億的圖像和影片。 您不需要任何機器學習專業知識即可使用它。 Amazon Textract 包含簡單易用的API,可以分析圖像檔案和PDF檔案。 Amazon Textract不斷從新資料中學習,且Amazon持續為此服務增加新功能。

IronOCR授權是基於開發者的,這意味著您應該根據將使用此產品的開發者數量來購買授權。 AWS Textract 授權是根據文件頁數來提取資訊和分析資料。 這些授權是以月度為基礎,與IronOCR授權相比,當頁數較多時,價格會變得非常高。 此外,IronOCR授權是一次性購買,並且可以終身使用,它支援OEM和SaaS分發。

在整體比較中,IronOCR和AWS OCR都具有機器學習功能,可從文件或圖片中檢測文字。 IronOCR比AWS OCR有稍微的優勢,因為速度快且節省時間。 程式碼很簡單,從文件中檢測文字時也很直接。 有幾種方法可以完成這個任務。 另一方面,AWS Textract使用多種方法來完成相同的任務。 這會增加伺服器響應時間,有時這很耗時。 我們可以看到,即使我們將一份不完美的文件輸入到IronOCR中,它也能夠準確地讀取其內容,統計準確率約為99%,即便該文件格式很糟糕、傾斜且有數位噪音。IronOCR開箱即用,無需調整性能或大幅修改輸入影像。 速度快如閃電:IronOCR.2020+ 的速度提升至10倍,錯誤率比以前的版本降低超過250%。

此外,Iron Software目前以兩件的價格提供五件工具包。 Iron Suite中包含的工具有:

IronBarcode IronXL IronOCR IronPDF IronWebScraper

請造訪此連結以探索 Iron Suite

請注意: AWS Textract 和 Tesseract 是其各自所有者的註冊商標。 此網站與Amazon Web Services或Google沒有任何關聯、認可或贊助。 所有產品名稱、標誌和品牌均屬於其各自的所有者。 比較僅具有資訊性,並反映了撰寫時公開可用的資訊。

相關文章

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立