如何在C#中閱讀掃描文件 | IronOCR

在C#中使用IronOCR閱讀掃描文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronOCR使C#開發者可以使用OCR技術從掃描的PDF和圖像中提取文字,將無法搜尋的圖像型文件轉換為可搜尋、易於存取的內容,只需幾行程式碼。

許多PDF包含無法搜尋的圖像型文字。 IronOCR將其轉換為可搜尋的內容,使得更容易找到特定資訊,並提升文件的易存取性,特別是對於視覺障礙人士。

自動提取可以避免手動複製或重新建立文字和圖像,確保準確性和效率。 這對於需要重用PDF中特定部分的研究、法律文件和內容創作特別有用。

企業可以從PDF中提取關鍵資料以進行分析或系統整合,簡化工作流程。 設計師和營銷人員也可以提取圖像進行增強和重用於各種項目中。

在本教程中,我們將探索OcrPdfInput方法,涵蓋可用選項和參數,展示IronOCR如何簡化不同應用中的PDF文字和圖像提取。

要使用此功能,您還需要安裝IronOcr.Extensions.AdvancedScan包。

快速入門:從掃描的PDF或圖像中提取文字

只需一行程式碼,您就可以使用IronOCR的ReadDocument立即提取文字。 非常適合希望快速運行OCR的開發者。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronOcr

    PM > Install-Package IronOcr
  2. 複製並運行這段程式碼片段。

    var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text;
  3. 部署以在您的實時環境中測試

    今天就開始在您的專案中使用IronOCR,透過免費試用

    arrow pointer

如何從掃描文件中提取文字?

要從文件中的所有圖像中提取文字,請使用ReadDocument方法。 此方法處理文件並返回一個包含提取文字的物件,可以通過Text屬性存取。 下面的範例展示如何使用樣本TIFF文件運行該方法。

IronOCR支持多種文件格式的掃描。 對於圖像,您可以處理JPG、PNG、GIF、TIFF和BMP格式,而PDF則支持單頁和多頁文件。 該程式庫使用先進的Tesseract 5技術以確保在所有支持的格式中保持高度準確性。

請注意

  • 該方法目前僅支持英文、中文、日文、韓文和拉丁字母。
  • 在.NET Framework上使用高級掃描需要項目在x64架構上運行。 )}]

輸入文件是什麼樣子?

哈利波特的書中展示的頁面,顯示第八章'死忌派對',包含關於十月霍格華茲的敘述文字

我如何實施OCR程式碼?

:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-read-scanned-document.cs
using IronOcr;
using System;

// Instantiate OCR engine
var ocr = new IronTesseract();

// Configure OCR engine
using var input = new OcrInput();
input.LoadImage("potter.tiff");

// Perform OCR
OcrResult result = ocr.ReadDocument(input);

Console.WriteLine(result.Text);
Imports IronOcr
Imports System

' Instantiate OCR engine
Private ocr = New IronTesseract()

' Configure OCR engine
Private input = New OcrInput()
input.LoadImage("potter.tiff")

' Perform OCR
Dim result As OcrResult = ocr.ReadDocument(input)

Console.WriteLine(result.Text)
$vbLabelText   $csharpLabel

我可以從OCR處理中期待什麼結果?

Visual Studio除錯窗口顯示從掃描文件範例中OCR處理的哈利波特文字文字

如果需要對PDF文件進行OCR,只需將LoadPdf。 這允許IronOCR以同樣的方式處理和提取掃描PDF中的文字。

高級文件處理選項

處理掃描的文件時,您經常需要更多控制OCR過程。 IronOCR提供了多種高級功能來增強您的文字提取結果。

處理多頁文件

對於有多個頁面的文件,IronOCR有效地處理批量處理:

:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-3.cs
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load a multi-page PDF
input.LoadPdf("multi-page-document.pdf");

// Process all pages
OcrResult result = ocr.ReadDocument(input);

// Access individual page results
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}: {page.WordCount} words");
}
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    ' Load a multi-page PDF
    input.LoadPdf("multi-page-document.pdf")

    ' Process all pages
    Dim result As OcrResult = ocr.ReadDocument(input)

    ' Access individual page results
    For Each page In result.Pages
        Console.WriteLine($"Page {page.PageNumber}: {page.WordCount} words")
    Next
End Using
$vbLabelText   $csharpLabel

優化OCR性能

掃描文件的質量直接影響OCR的準確性。 IronOCR包括內建圖像優化過濾器來增強文字識別:

:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-4.cs
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();

// Load and enhance image quality
input.LoadImage("low-quality-scan.jpg");
input.Deskew();  // Correct image skew
input.DeNoise(); // Remove background noise
input.Binarize(); // Convert to black and white

OcrResult result = ocr.ReadDocument(input);
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()

    ' Load and enhance image quality
    input.LoadImage("low-quality-scan.jpg")
    input.Deskew()  ' Correct image skew
    input.DeNoise() ' Remove background noise
    input.Binarize() ' Convert to black and white

    Dim result As OcrResult = ocr.ReadDocument(input)

End Using
$vbLabelText   $csharpLabel

建立可搜尋的PDF

處理掃描文件時最有價值的功能之一是能夠建立可搜尋的PDF。 這保留了原始文件的外觀,同時增加了一個文字層:

:path=/static-assets/ocr/content-code-examples/how-to/read-scanned-document-5.cs
using IronOcr;

var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadPdf("scanned-document.pdf");

// Process and save as searchable PDF
OcrResult result = ocr.ReadDocument(input);
result.SaveAsSearchablePdf("searchable-output.pdf");
Imports IronOcr

Dim ocr As New IronTesseract()
Using input As New OcrInput()
    input.LoadPdf("scanned-document.pdf")

    ' Process and save as searchable PDF
    Dim result As OcrResult = ocr.ReadDocument(input)
    result.SaveAsSearchablePdf("searchable-output.pdf")
End Using
$vbLabelText   $csharpLabel

使用不同型別的文件

IronOCR在處理商業環境中常遇到的各種文件型別方面表現出色。 無論您在處理發票、合同還是歷史文件,該程式庫都提供了從不同來源提取資料的專門功能。

處理遺留文件

許多組織都有過去格式的掃描文件存檔。 IronOCR能有效地處理這些文件,支持多頁TIFF文件,這在文件管理系統中常用。

語言支持

雖然此範例著重於英文文字,但IronOCR支持超過125種國際語言。 這使其成為處理多語言文件或非英文語言文件的理想選擇。

文件掃描的最佳實踐

為了在處理掃描的文件時取得最佳效果:

  1. 掃描質量:使用最低300 DPI的解析度以達到最佳效果
  2. 文件格式:TIFF和PNG格式在文字文件中比JPEG更能保持質量
  3. 預處理:根據您的文件狀況應用適當的過濾器
  4. 性能:對於大批量,考慮使用多執行緒功能

故障排除常見問題

處理掃描的文件時,您可能會遇到各種挑戰。 以下是一些常見問題的解決方案:

  • 質量不佳的掃描件:在OCR處理之前應用增強濾鏡
  • 文件偏斜:使用Deskew()方法校正方向
  • 混合內容:如果文件包含文字和非文字元素,請處理特定區域

欲了解更詳細的指導,請探索我們的綜合C# OCR教程或查看簡單的OCR範例以快速入門。

下一步

現在您了解了如何從掃描的文件中提取文字,您可以探索更多高級功能,例如讓任何PDF可搜尋或為網站應用程式處理PDF流。 IronOCR的靈活性使其適用於從簡單文件數字化到複雜的企業文件處理工作流程的所有事情。

常見問題

如何在C#中從掃描的PDF中提取文字?

IronOCR使在C#中從掃描的PDF中提取文字變得簡單。使用LoadPdf方法匯入您的掃描PDF,然後呼叫ReadDocument提取文字。例如:var text = new IronOcr.IronTesseract().ReadDocument(new IronOcr.OcrInput().LoadPdf("scanned.pdf")).Text; 這行程式碼載入您的PDF並提取所有文字內容。

OCR程式庫支持哪些文件格式的文字提取?

IronOCR支持多種文件格式的OCR掃描。對於圖片,它支持JPG,PNG,GIF,TIFF和BMP格式。對於PDF,它可以處理單頁和多頁文件。該程式庫使用先進的Tesseract 5技術,以確保所有支持格式的高準確性。

我需要為OCR功能安裝其他套件嗎?

是的,若要使用IronOCR的完整OCR功能,您需要安裝IronOcr.Extensions.AdvancedScan套件以及主要的IronOCR程式庫。此擴展套件提供增強的掃瞄功能以處理掃描的文件。

我可以從掃描的圖像以及PDF中提取文字嗎?

可以,IronOCR可以很好地處理掃描的圖像和PDF。對於圖像文件 (JPG, PNG, GIF, TIFF, BMP),請使用LoadImage方法,對於PDF文件請使用LoadPdf方法。ReadDocument方法適用於這兩種輸入型別以提取文字內容。

OCR如何幫助無法搜尋的PDF文件?

IronOCR通過使用OCR技術提取文字,將無法搜尋的基於圖像的PDF轉換為可搜尋的內容。此轉變使您更容易在文件中定位特定資訊,並顯著提高文件的可存取性,特別是對於視力障礙人士。

OCR文字提取的主要商業應用是什麼?

IronOCR使企業能夠從PDF中提取關鍵資料進行分析和系統整合,簡化工作流程。它特別適合於處理法律文件、研究論文和自動化資料輸入。設計師和營銷人員還可以提取圖片以改善和在各種項目中重用。

IronOCR能整合到現有的應用程式中嗎?

IronOCR被設計成可以輕鬆地整合到現有應用程式中,使用C#允許開發人員以最小的努力為其軟體新增OCR功能。

使用IronOCR進行文件管理的好處是什麼?

使用IronOCR進行文件管理通過將掃描的文件轉換為可搜索和可編輯的文字來簡化工作流程,減少手動資料輸入的需求並提高文件的可存取性。

IronOCR如何提高資料精確性?

IronOCR通過其先進的識別算法和影像校正功能提高資料精確性,確保文字提取過程既可靠又精確。

IronOCR有免費試用版嗎?

有的,Iron Software提供IronOCR的免費試用版,允許使用者在做出購買決定前測試其功能和能力。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 6,136,090 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在滾動?

想要快速證明? PM > Install-Package IronOcr
執行範例 觀看您的圖像轉變為可搜尋文字。