IRONSOFTWAREHOME

如何在C#中讀取多幀/頁的TIFF與GIF

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronOCR可以使用Read方法呼叫,在C#中從多幀的TIFF和GIF文件中讀取文字,支援單頁和多頁文件,無需複雜的設定。

TIFF(標記影像文件格式)是一種高品質影像的格式。 它支援無損壓縮,非常適合掃描文件和專業攝影。

GIF(圖形交換格式)用於簡單的網頁影像和動畫。 它同時支援無損和有損壓縮,可以包含單一文件中的多幅動畫。

快速入門:使用多幀TIFF或GIF文件進行OCR

使用IronOCR的Read呼叫讀取多頁TIFF或動畫GIF中的文字。

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2複製並運行這段程式碼片段。

    using IronOcr;
    var result = new IronTesseract().Read(new OcrImageInput("Potter.tiff"));
    C#
  3. 3部署以在您的實時環境中測試

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

如何讀取單幀或多幀的TIFF文件?

要執行OCR,實例化IronTesseract類別。 使用OcrImageInput物件。 此構造函式支援單幀和多幀的TIFF和TIF格式。 應用Read方法對導入的TIFF文件執行OCR。

using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Import TIFF/TIF
using var imageInput = new OcrImageInput("Potter.tiff");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);
Windows圖片檢視器和Visual Studio顯示文件內容 - 非TIFF處理展示

IronOCR為何自動處理多幀TIFF?

IronOCR自動檢測並處理TIFF文件中的所有幀。當載入多頁TIFF文件時,該程式庫遍歷每一幀,在每頁上應用OCR,並將結果整合成一個OcrResult物件。 這種自動處理消除了複雜的逐幀處理邏輯。 有關多頁TIFF的範例,請參閱我們的多頁TIFF OCR教學

對於性能關鍵的應用,實施快速OCR設定以優化處理速度。 該程式庫的多執行緒Tesseract OCR功能確保了高效的批量處理。

讀取多頁TIFF文件時會發生什麼?

在處理多頁TIFF文件時,IronOCR:

  1. 高效載入所有幀到記憶體中
  2. 應用預處理到每一幀(如果已設定)
  3. 依次進行OCR在每頁上
  4. 聚合結果保持頁面順序

存取個別頁面的結果:

using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import multi-page TIFF
using var imageInput = new OcrImageInput("multipage-document.tiff");

// Perform OCR
OcrResult result = ocrTesseract.Read(imageInput);

// Access results by page
foreach (var page in result.Pages)
{
    Console.WriteLine($"Page {page.PageNumber}:");
    Console.WriteLine(page.Text);
    Console.WriteLine("---");
}

對於長時間操作,實施停止token以實現取消功能。

如何單獨處理TIFF幀?

單獨處理幀以便受記憶體限制或對特定頁面應用不同的影像校正濾鏡

using IronOcr;
using System.Drawing;

// Configure OCR for individual frame processing
IronTesseract ocrTesseract = new IronTesseract();

// Load and split TIFF frames
using var multiFrameInput = new OcrImageInput("document.tiff");

// Process specific pages (0-indexed)
var pageIndices = new[] { 0, 2, 4 }; // Process pages 1, 3, and 5 only

foreach (int pageIndex in pageIndices)
{
    using var pageInput = new OcrImageInput("document.tiff", pageIndex);
    
    // Apply page-specific preprocessing if needed
    pageInput.DeNoise();
    pageInput.Deskew();
    
    var pageResult = ocrTesseract.Read(pageInput);
    Console.WriteLine($"Page {pageIndex + 1} text: {pageResult.Text}");
}
C#

有關進階設定,請參閱Tesseract詳細設定指南

如何讀取GIF文件進行OCR?

構造OcrImageInput時指定GIF文件路徑。 構造函式導入該影像。 對於動畫GIF,IronOCR提取所有幀並將其作為單獨的影像進行處理。

using IronOcr;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Import GIF
using var imageInput = new OcrImageInput("Potter.gif");
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

對於初學者,我們的簡單C# OCR Tesseract教程涵蓋了基本的OCR操作。

為什麼OCR能在動畫GIF上運作?

動畫GIF包含多個影像幀。 IronOCR提取每一幀並分別處理。 這在以下情況下效能良好:

  • 螢幕錄影以GIF格式儲存
  • 帶有文字說明的動畫教程
  • 以GIF格式製作多步驟文件
  • 舊系統匯出報告為GIF

每一幀的文字都已捕獲並按時間順序組織。 對於有方向問題的影像,IronOCR可以自動修正影像方向

何時應使用GIF格式進行OCR?

GIF具有有限的顏色調色盤(256色),但常見於:

  1. 網頁內容:線上教程和文件
  2. 舊匯出:使用GIF格式的較舊應用
  3. 螢幕截圖:螢幕截圖工具預設為GIF
  4. 小文件大小:當儲存空間有限時

為達到最佳效果,使用IronOCR的DPI設定優化GIF。 應用OCR影像優化濾鏡以提高識別率。

GIF OCR上的常見問題是什麼?

GIF文件存在挑戰:

  1. 顏色限制:256色限制會影響文字清晰度
  2. 壓縮失真:像素化影響識別
  3. 低解析度:通常以72-96 DPI保存

應用預處理濾鏡:

using IronOcr;

IronTesseract ocrTesseract = new IronTesseract();

// Import GIF with preprocessing
using var imageInput = new OcrImageInput("low-quality.gif");

// Apply filters to improve quality
imageInput.ToGrayScale();      // Convert to grayscale
imageInput.Contrast(1.5);       // Increase contrast
imageInput.DeNoise();           // Remove noise
imageInput.EnhanceResolution(); // Upscale for better OCR

// Perform OCR with enhanced image
OcrResult result = ocrTesseract.Read(imageInput);

對於有挑戰的影像,請參閱使用Tesseract修復低品質掃描

如何指定掃描區域以提高效能?

在構造CropRectangle以定義OCR的特定區域。 這提高了大文件的效能。 請參閱我們的OCR區域指南

using IronOcr;
using IronSoftware.Drawing;
using System;

// Instantiate IronTesseract
IronTesseract ocrTesseract = new IronTesseract();

// Specify crop region
Rectangle scanRegion = new Rectangle(800, 200, 900, 400);

// Add image
using var imageInput = new OcrImageInput("Potter.tiff", ContentArea: scanRegion);
// Perform OCR
OcrResult ocrResult = ocrTesseract.Read(imageInput);

// Output the result to console
Console.WriteLine(ocrResult.Text);

為什麼裁剪能提升OCR性能?

在照片檢視器中的TIFF文件,帶有除錯控制台顯示完整OCR過程執行結果

通過裁剪提升性能:

  1. 減少處理區域:較少的像素意味著更快的執行
  2. 專注偵測:OCR最佳化特定區域
  3. 記憶體效能:減小的工作集降低RAM使用
  4. 噪聲消除:排除不相關區域

處理特定區域可比處理整頁快5-10倍。 對於實時監控,實施進度追蹤

何時應使用區域特定OCR?

對於以下情況使用區域特定OCR:

  • 表單處理:提取特定欄位
  • 標題/頁尾:存取文件中繼資料
  • 表格:專注於資料表
  • 批量處理:相似文件工作流程

表單字段範例:

using IronOcr;
using IronSoftware.Drawing;

// Define regions for form fields
var nameFieldRegion = new Rectangle(100, 50, 300, 40);
var dateFieldRegion = new Rectangle(100, 100, 200, 40);
var amountFieldRegion = new Rectangle(100, 150, 150, 40);

// Create OCR instance
IronTesseract ocr = new IronTesseract();

// Extract from each region
using var tiffInput = new OcrImageInput("form.tiff");

// Process each field
var name = ocr.Read(new OcrImageInput("form.tiff", ContentArea: nameFieldRegion)).Text.Trim();
var date = ocr.Read(new OcrImageInput("form.tiff", ContentArea: dateFieldRegion)).Text.Trim();
var amount = ocr.Read(new OcrImageInput("form.tiff", ContentArea: amountFieldRegion)).Text.Trim();

Console.WriteLine($"Name: {name}");
Console.WriteLine($"Date: {date}");
Console.WriteLine($"Amount: {amount}");

如何計算正確的裁剪矩形?

使用以下方式計算裁剪矩形:

  1. 視覺檢查:使用影像編輯器獲取坐標
  2. 程式偵測:使用IronOCR的視覺功能
  3. 模板:對相似文件定義一次區域

使用強調文字功能進行除錯和可視化:

using IronOcr;
using IronSoftware.Drawing;

// Test different regions to find optimal coordinates
var testRegions = new[] 
{ 
    new Rectangle(100, 100, 200, 50), 
    new Rectangle(100, 160, 200, 50), 
    new Rectangle(100, 220, 200, 50) 
};

IronTesseract ocr = new IronTesseract();

foreach (var region in testRegions)
{
    using var input = new OcrImageInput("document.tiff", ContentArea: region);

    // Save highlighted region for visual verification
    input.HighlightTextAndSaveAsImages(ocr, $"region_{region.X}_{region.Y}.png", ResultHighlightType.Word);
}
C#

對於複雜文件,使用IronOCR的結果物件辨識文字位置並建立動態裁剪區域。 對於有挑戰性的影像,OCR影像DPI最佳化指南有助於達到最佳解析度。

IronOCR提供一個簡化的API,自動處理幀提取和處理。 無論處理單頁文件還是複雜的多幀文件,均適用於企業文件工作流程的同樣簡單語法。

常見問題

如何在C#中從多幀TIFF檔案中提取文字?

IronOCR提供了一個簡單的解決方案,用於使用OcrImageInput類讀取多幀TIFF檔案。只需實例化IronTesseract並呼叫Read方法,傳入您的TIFF檔案路徑。該程式庫會自動檢測並處理TIFF檔案中的所有幀,將結果合併到一個OcrResult物件中。

OCR程式庫是否支援單頁和多頁TIFF文件?

是的,IronOCR無縫處理單幀和多幀TIFF格式,使用相同的OcrImageInput建構函式。該程式庫自動迭代多頁文件中的每個幀,對每頁應用OCR,並消除了複雜的逐幀處理邏輯的需求。

我可以在動畫GIF檔案上執行OCR嗎?

IronOCR支持從GIF檔案中讀取文字,包括動畫GIF,使用與TIFF檔案相同的OcrImageInput類別。該程式庫只需調用一次Read方法即可處理GIF圖像,輕鬆從靜態和動畫GIF格式中提取文字。

TIFF和GIF的OCR支持哪些壓縮格式?

IronOCR可以處理支持無損壓縮的TIFF檔案,這使得它非常適合用於掃描文件和專業攝影。對於GIF檔案,該程式庫處理無損和有損壓縮格式,包括那些在一個檔案中儲存動畫的格式。

如何優化大型多頁TIFF檔案的OCR性能?

IronOCR提供快速OCR配置選項和多執行緒Tesseract OCR功能,適用於性能關鍵的應用。這些功能確保在處理大型多頁TIFF檔案時的有效批次處理,大大縮短處理時間。

我可以在TIFF或GIF圖片中定義特定的讀取區域嗎?

是的,IronOCR允許您通過指定裁剪區域來定義TIFF或GIF圖片中的讀取區域。此功能有助於將OCR處理集中於圖片的特定部分,提高當您只需要特定區域的文字時的準確性與性能。

How can cropping improve OCR performance?

Cropping enhances OCR performance by reducing the processing area, which speeds up execution. It also focuses detection on specific regions, uses memory more efficiently, and can eliminate irrelevant areas contributing to noise.

What preprocessing techniques can improve GIF OCR quality?

Improving GIF OCR quality involves preprocessing steps like converting to grayscale, increasing contrast, denoising, and enhancing resolution. These steps help mitigate color limitations and compression artifacts typical of the GIF format.

Why does IronOCR handle frame extraction automatically for TIFF and GIF files?

IronOCR's automatic frame extraction simplifies the development process by eliminating the need for manual handling of each frame. The library processes each frame and aggregates results, making it ideal for both single and multi-frame document workflows.

How is text from animated GIFs captured and organized by IronOCR?

IronOCR captures text from animated GIFs by extracting each frame and processing them separately. Text from each frame is captured, organized chronologically, and consolidated into a final readable format, facilitating structured data analysis.

Curtis Chau
技術作家

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

...
閱讀更多

準備開始了嗎?

Nuget Downloads 6,236,385版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立
C# PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. 在解決方案資源管理器中,右鍵點擊參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronOCR"
  3. 選擇包並安裝
C# PDF DLL
下載 DLL

版本: 2026.9

這裡下載Windows安裝程式。

  1. 下載並解壓IronOCR至您的方案目錄下的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中,右鍵點擊參考。選擇瀏覽,"IronOCR.dll"

授權從$999

有問題嗎?聯絡我們的開發團隊。

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天試用金鑰
無需信用卡或帳戶建立