如何在 C# | IronOcr 中讀取多 FramePage GIF 和 TIFFs

如何在 C# 中讀取多格/頁 TIFF 和 GIFs IronOCR 可使用 `OcrImageInput` 類和單一 `Read` 方法呼叫,在 C# 中從多格 TIFF 和 GIF 檔案讀取文字,支援單頁和多頁文件,無需複雜的設定。 TIFF(標籤影像檔案格式)是一種高品質影像的格式。 它支援無損壓縮,因此適用於掃描文件和專業攝影。 GIF(圖形交換格式)用於簡單的網路影像和動畫。 它支援無損和有損的壓縮,並可在單一檔案中包含動畫。 *as-heading:2(快速入門:使用多格 TIFF 或 GIF 檔案進行 OCR) * 使用 `OcrImageInput` 和 `Read` 呼叫,使用 IronOCR 從多頁 TIFF 或動畫 GIF 中讀取文字。 ```cs :title=Extract Text from TIFFs & GIFs in Seconds using IronOcr; var result = new IronTesseract().Read(new OcrImageInput("Potter.tiff")); ```

我該如何讀取單格或多格 TIFF 檔案? <!--說明:顯示逐步過程的截圖 --> 若要執行 OCR,請實體化 `IronTesseract` 類別。 使用 `using` 語句建立 `OcrImageInput` 物件。 此構成器支援單格和多格 TIFF 與 TIF 格式。 套用 `Read` 方法對匯入的 TIFF 檔案執行 OCR。有關 OcrInput 類的詳細資訊,請參閱 [ 全面的 `OcrInput` 類指南](https://ironsoftware.com/csharp/ocr/examples/csharp-ocr-input-for-irontesseract/)。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-tiff-gif-read-tiff.cs ```
Windows Photo Viewer 與 Visual Studio 顯示文件內容 - 非 TIFF 處理示範

為什麼 IronOCR 可以自動處理多幀 TIFF? IronOCR 可自動偵測並處理 TIFF 檔案中的所有畫格。當載入多頁 TIFF 文件時,函式庫會反覆檢視每一格,將 OCR 應用於每一頁,並將結果整合為單一 `OcrResult` 物件。 這種自動處理方式可省去複雜的逐格處理邏輯。 有關多頁 TIFF 的範例,請參閱我們的 [ 多頁 TIFF OCR 教學](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multipage-tiff/)。 對於效能關鍵的應用程式,請執行 [ 快速 OCR 配置](https://ironsoftware.com/csharp/ocr/examples/tune-tesseract-for-speed-in-dotnet/),以最佳化處理速度。 該函式庫的 [ 多執行緒 Tesseract OCR](https://ironsoftware.com/csharp/ocr/examples/csharp-tesseract-multithreading-for-speed/) 功能可確保高效率的批次處理。

閱讀多頁 TIFF 文件時會發生什麼情況? 在處理多頁 TIFF 文件時,IronOCR: 1.**將所有框架**有效載入記憶體 2.**若已設定,則將預處理**套用至每個框架 3.**依序對頁面執行 OCR** 4.**匯集結果**維持頁面順序 存取個別頁面的結果: ```csharp 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("---"); } ``` 對於長時間的作業,實施 [abort token](https://ironsoftware.com/csharp/ocr/examples/abort-token/) 以取得取消功能。

如何分開處理個別的 TIFF 檔案? 針對記憶體限制單獨處理框架,或將不同的[影像修正篩選器](https://ironsoftware.com/csharp/ocr/how-to/image-quality-correction/)套用至特定頁面: ```csharp 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", PageIndices: new[] { pageIndex }); // Apply page-specific preprocessing if needed pageInput.DeNoise(); pageInput.Deskew(); var pageResult = ocrTesseract.Read(pageInput); Console.WriteLine($"Page {pageIndex + 1} text: {pageResult.Text}"); } ``` 如需進階配置,請參閱 [Tesseract 詳細配置指南](https://ironsoftware.com/csharp/ocr/examples/csharp-configure-setup-tesseract/)。

如何讀取 GIF 檔案以進行 OCR? 當建構 `OcrImageInput` 時,指定 GIF 檔案路徑。 建構器會匯入影像。 對於動畫 GIF,IronOCR 會擷取所有畫格,並將其處理為單獨的影像。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-tiff-gif-read-gif.cs ``` 對於初學者,我們的[簡單 C# OCR Tesseract 教學](https://ironsoftware.com/csharp/ocr/examples/simple-csharp-ocr-tesseract/)涵蓋了基本的 OCR 操作。

為什麼 OCR 可以在動畫 GIF 上運作? 動畫 GIF 包含多個圖像框架。 IronOCR 擷取每一格的內容並分別處理。 這對於 - **螢幕錄製**儲存為 GIF - **附有文字說明的動畫教學** - **GIF格式的多步說明文件** - **Legacy 系統**以 GIF 形式匯出報告 我們會擷取每一格的文字,並按時間順序整理。 對於有方向問題的圖片,IronOCR 可以 [自動修正圖片方向](https://ironsoftware.com/csharp/ocr/examples/fix-image-orientation/)。

何時應該使用 GIF 格式進行 OCR? GIF 的調色板顏色有限(256 色),但在下列情況中很常見: 1.**網路內容**:線上教學與文件 2.**Legacy 匯出**:使用 GIF 格式的舊版應用程式 3.**螢幕擷取**:預設為 GIF 的螢幕截圖工具 4.**檔案大小小**:當儲存空間有限時 為達到最佳效果,請使用 [ IronOCR 的 DPI 設定](https://ironsoftware.com/csharp/ocr/how-to/dpi-setting/)優化 GIF。 套用[OCR影像最佳化篩選器](https://ironsoftware.com/csharp/ocr/examples/ocr-image-filters-for-net-tesseract/)以提高辨識度。

GIF OCR 有哪些常見問題? GIF 檔案是一項挑戰: 1.**顏色限制**:256 色的限制會影響文字的清晰度 2.**壓縮假象**:抖動干擾識別 3.**低解析度**:通常以 72-96 DPI 保存 套用預處理過濾器: ```csharp 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 修復低品質掃描](https://ironsoftware.com/csharp/ocr/examples/ocr-low-quality-scans-tesseract/)。

如何指定掃描區域以獲得更好的效能? 在構建 `OcrImageInput` 時,包含 `CropRectangle` 以定義用於 OCR 的特定區域。 這可增強大型文件的效能。 請參閱我們的 [OCR 區域指南](https://ironsoftware.com/csharp/ocr/how-to/ocr-region-of-an-image/)。 ```csharp :path=/static-assets/ocr/content-code-examples/how-to/input-images-read-specific-region.cs ```

為什麼裁切可以改善 OCR 效能?
照片檢視器中的 TIFF 文件,其偵錯控制台顯示已完成的 OCR 程序執行
裁剪可透過以下方式改善效能: 1.**減少處理面積**:更少的像素意味著更快的執行速度 2.**重點偵測**:針對特定區域進行 OCR 最佳化 3.**記憶體效率**:較小的工作集可減少 RAM 使用量 4.**噪音消除**:排除不相關的區域 處理特定區域的速度可能比完整頁面快 5-10 倍。 如需即時監控,請執行 [進度追蹤](https://ironsoftware.com/csharp/ocr/how-to/progress-tracking/)。

何時應該使用特定區域的 OCR? 使用特定區域的 OCR 進行: - **表單處理**:擷取特定欄位 - **頁首/頁腳**:存取文件元資料 - **表格**:專注於資料表格 - **批次處理**:類似的文件工作流程 表單欄位範例: ```csharp 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.**範本**:為類似文件定義一次區域 使用 [highlight texts 功能](https://ironsoftware.com/csharp/ocr/how-to/highlight-texts-as-images/)進行調試和可視化: ```csharp 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); var result = ocr.Read(input); // Save highlighted region for visual verification result.SaveAsHighlightedImage($"region_{region.X}_{region.Y}.png"); } ``` 對於複雜的文件,請使用 [ IronOcr 的結果物件](https://ironsoftware.com/csharp/ocr/examples/results-objects/) 來識別文字位置並建立動態裁剪區域。 對於具有挑戰性的影像,[OCR 影像 DPI 最佳化指南](https://ironsoftware.com/csharp/ocr/examples/ocr-image-dpi-for-tesseract/) 有助於達到最佳解析度。 IronOCR 提供簡化的 API,可自動處理框架擷取與處理。 無論是處理單頁文件或複雜的多格文件,同樣簡單的語法適用於企業文件工作流程。

常見問題解答

如何使用 C# 從多畫面 TIFF 檔案中擷取文字?

IronOCR 為使用 OcrImageInput 類讀取多畫面 TIFF 檔案提供了簡單的解決方案。只需實體化 IronTesseract,並透過您的 TIFF 檔案路徑,呼叫 OcrImageInput 的讀取方法。函式庫會自動偵測並處理 TIFF 檔案中的所有畫格,並將結果整合為單一的 OcrResult 物件。

OCR 函式庫是否同時支援單頁和多頁 TIFF 文件?

是的,IronOCR 可透過相同的 OcrImageInput 構建器,無縫處理單格與多格 TIFF 格式。這個函式庫會自動迭代多頁文件中的每一格,將 OCR 應用於每一頁,而不需要複雜的逐格處理邏輯。

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

IronOCR 支援使用與 TIFF 檔案相同的 OcrImageInput 類別,從 GIF 檔案(包括動畫 GIF)讀取文字。該函式庫只需呼叫一次 Read 方法即可處理 GIF 影像,因此可輕鬆地從靜態與動態 GIF 格式中擷取文字。

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

IronOCR 可處理支援無損壓縮的 TIFF 檔案,是掃描文件和專業攝影的理想選擇。對於 GIF 檔案,該函式庫可處理無損和有損的壓縮格式,包括那些將動畫儲存在單一檔案中的格式。

如何優化大型多頁 TIFF 文件的 OCR 效能?

IronOCR 提供快速的 OCR 配置選項和多執行緒 Tesseract OCR 功能,適用於效能要求嚴苛的應用程式。這些功能可確保在處理大型多頁 TIFF 文件時進行有效率的批次處理,大幅縮短處理時間。

我可以在 TIFF 或 GIF 影像中定義特定的閱讀區域嗎?

是的,IronOCR 允許您在 TIFF 或 GIF 影像中指定裁切區域,以定義讀取區域。此功能有助於將 OCR 處理集中在影像的特定部分,當您只需要特定區域的文字時,可提高精確度和效能。

Chaknith Bin
軟體工程師
Chaknith 在 IronXL 和 IronBarcode 上工作。他對 C# 和 .NET 擁有深厚的專業知識,幫助改進了軟體並支持客戶。他從用戶互動中得到的見解有助於改善產品、文檔和整體體驗。
準備好開始了嗎?
Nuget 下載 5,246,844 | 版本: 2025.12 剛發表