IronBarcode 操作指南 讀取多頁圖像 如何在 C# 中從多頁 GIF 和 TIFF 中讀取 BarCode; Hairil Hasyimi Bin Omar 更新:2026年1月10日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 法學碩士副本 法學碩士副本 將頁面複製為 Markdown 格式,用於 LLMs 在 ChatGPT 中打開 請向 ChatGPT 諮詢此頁面 在雙子座打開 請向 Gemini 詢問此頁面 在 Grok 中打開 向 Grok 詢問此頁面 打開困惑 向 Perplexity 詢問有關此頁面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 複製連結 電子郵件文章 This article was translated from English: Does it need improvement? Translated View the article in English IronBarcode 可自動處理多頁 TIFF 和動畫 GIF 檔案,無須手動分格,只需呼叫一個 BarcodeReader.Read 方法,即可從影像檔案中的每一格或每一頁擷取所有條碼。 快速入門:從多頁 TIFF 或 GIF 檔案中完整讀取條碼 IronBarcode 可載入多頁 TIFF 或動畫 GIF 檔案,並透過一個方法呼叫提取所有條碼。 無需分幀或手動預處理-將檔案路徑傳給 BarcodeReader.Read 以獲得快速結果。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronBarcode PM > Install-Package BarCode 複製並運行這段程式碼。 IronBarCode.BarcodeResults results = IronBarCode.BarcodeReader.Read("multiPageImage.tiff"); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronBarcode,免費試用! 免費試用30天 ### 最小工作流程(5 個步驟) 下載用於讀取條碼的 C# 庫 準備 GIF 和 TIFF 圖像以進行條形碼檢測 將多幀 GIF 和 TIFF 影像傳遞給Read方法 應用圖像濾鏡和選項以提高準確性和性能 將圖像轉換為多幀 GIF 和 TIFF 如何讀取多格 GIF 和 TIFF 影像? <! -- --> <!--說明:說明程式碼概念的圖表或截圖 --> 使用 IronBarcode 讀取多幀 GIF 和 TIFF 影像與讀取單一影像一樣簡單,因為 IronBarcode 可以輕鬆地將多頁影像檔案匯入到BarcodeReader.Read方法中。 您不需要準備圖片,因為所有的處理都已內建在資料庫中。 如需全面瞭解 IronBarcode 的功能,請查看我們的 功能頁面。 為什麼 IronBarcode 可以自動處理多框架圖像? IronBarcode 可自動處理多框影像,簡化您的工作流程。 傳統的 BarCode 讀取函式庫在處理前,通常需要從 GIF 動畫中抽取個別畫格,或從 TIFF 檔案中分離頁面。 這會增加不必要的複雜性和潛在的失敗點。 IronBarcode 的智慧型幀檢測功能可透過內部解析圖像結構,並自動迭代每一幀或頁面,從而消除這種負擔。 此方法可確保無論多少幀數都能達到一致的結果,同時透過最佳化的記憶體管理維持高效能。 以下程式碼範例示範讀取多頁 GIF 和 TIFF 檔案: :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-read-tif.cs using IronBarCode; using System; // Read barcode from TIF image BarcodeResults results = BarcodeReader.Read("sample.tif"); // Output the barcodes value to console foreach (var result in results) { Console.WriteLine(result.Value); } Imports IronBarCode Imports System ' Read barcode from TIF image Private results As BarcodeResults = BarcodeReader.Read("sample.tif") ' Output the barcodes value to console For Each result In results Console.WriteLine(result.Value) Next result $vbLabelText $csharpLabel 多頁閱讀支援哪些影像格式? IronBarcode 的多頁閱讀能力超越 GIF 和 TIFF 格式。 該函式庫支援所有 標準圖像格式,包括 JPEG、PNG、BMP 和單頁圖像的 SVG。 具體而言,對於多頁支援,TIFF 和動畫 GIF 是主要格式。 TIFF 的用途特別廣泛,它能以各種壓縮方法儲存多個全解析度影像,因此非常適合文件掃描的情境。 動畫 GIF 雖然只有 256 種顏色,但卻能以精簡、網路友善的格式儲存多個 BarCode 圖格。 針對特殊需求,您也可以讀取 PDF 文件中的 BarCode,這些文件通常包含內嵌條碼的多頁。 何時應使用多框架影像進行條碼掃描? 多框架影像是多種商業情境的理想選擇。 文件管理系統使用多頁 TIFF 檔案作為儲存掃描發票、出貨文件或表格的標準,其中每頁可能包含不同的 BarCode。 製造和物流作業通常會使用 GIF 動畫來建立可視化的工作流程,顯示多種條碼狀態或順序掃描指令。 批次處理應用程式可從多畫面格式中獲益,因為它們可減少檔案管理開銷 - 您無需處理數百個獨立的影像檔案,只需處理單個多畫面檔案即可。此外,在實作 從串流讀取 BarCode 時,多訊框格式可大幅減少記憶體分配並提高效能。 如何將圖片轉換為 GIF 和 TIFF? <! -- --> <!--說明:說明程式碼概念的圖表或截圖 --> 學習如何使用我們的開放原始碼程式庫 IronDrawing,將影像轉換為多頁 TIFF 和 GIF。 下面的程式碼範例顯示如何產生多頁 GIF 或 TIFF 影像。 此功能在將來自不同來源的多個 BarCode 影像整合成單一檔案以進行有效處理時尤其有用。 建立多框架 TIFF 檔案的流程是什麼? 建立多框架 TIFF 檔案涉及將多個影像來源合併到單一 TIFF 容器中。 首先將個別影像以位圖物件載入記憶體。 IronDrawing 的 AnyBitmap 類為處理各種圖像格式提供了統一的介面,可自動管理格式轉換並確保相容性。 在建立多格 TIFF 時,程式庫會最佳化壓縮設定,以平衡檔案大小與影像品質,這對於維持 BarCode 的可讀性至關重要。 :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-create-tiff-gif.cs using IronBarCode; using IronSoftware.Drawing; using System.Collections.Generic; // Import images List<AnyBitmap> images = new List<AnyBitmap>() { AnyBitmap.FromFile("image1.png"), AnyBitmap.FromFile("image2.png"), AnyBitmap.FromFile("image3.png"), AnyBitmap.FromFile("image4.jpg"), AnyBitmap.FromFile("image5.jpg") }; // Convert TIFF from images AnyBitmap tiffImage = AnyBitmap.CreateMultiFrameTiff(images); // Export TIFF tiffImage.SaveAs("multiframetiff.tiff"); // Convert GIF from images AnyBitmap gifImage = AnyBitmap.CreateMultiFrameGif(images); // Export GIF gifImage.SaveAs("multiframegif1.gif"); Imports IronBarCode Imports IronSoftware.Drawing Imports System.Collections.Generic ' Import images Private images As New List(Of AnyBitmap)() From {AnyBitmap.FromFile("image1.png"), AnyBitmap.FromFile("image2.png"), AnyBitmap.FromFile("image3.png"), AnyBitmap.FromFile("image4.jpg"), AnyBitmap.FromFile("image5.jpg")} ' Convert TIFF from images Private tiffImage As AnyBitmap = AnyBitmap.CreateMultiFrameTiff(images) ' Export TIFF tiffImage.SaveAs("multiframetiff.tiff") ' Convert GIF from images Dim gifImage As AnyBitmap = AnyBitmap.CreateMultiFrameGif(images) ' Export GIF gifImage.SaveAs("multiframegif1.gif") $vbLabelText $csharpLabel 從上面的程式碼片段中,我們首先將影像檔案匯入 AnyBitmap 物件的清單中,藉此進行群組。 在呼叫 AnyBitmap.CreateMultiFrameTiff 和 AnyBitmap.CreateMultiFrameGif 方法分別取得多頁 TIFF 和多頁 GIF 物件時,請使用此清單做為參數。 GIF 和 TIFF 格式在條碼儲存方面有何不同? 多頁 GIF 和 TIFF 都提供將影像組合成單一檔案的方式,但兩者有顯著的差異: 範疇 多頁 GIF Multipage TIFF 壓縮 GIF影像使用無損壓縮,這表示壓縮過程中不會遺失任何影像資料。與有損壓縮格式相比,這會導致檔案體積相對較大。 TIFF 檔案可以使用多種壓縮方法,包括無損壓縮(例如 LZW)和有損壓縮(例如 JPEG)。這種靈活性使得 TIFF 檔案能夠在檔案大小和影像品質之間取得平衡。 色深 GIF 支援最多 256 種顏色(8 位元色深),與其他格式相比,這方面有其限制。這種有限的調色板會導致細節和色彩準確度的損失,尤其對於照片和帶有漸變的圖像更是如此。 TIFF 支援多種顏色深度,包括 1 位元(二進位)、8 位元(256 色)、24 位元(真彩色)等等。這種靈活性使得 TIFF 能夠儲存具有不同顏色細節等級的影像。 透明度 GIF 支援二元透明度,這意味著其中一種顏色可以完全透明,而其餘顏色則完全不透明。這種缺乏局部透明度的現像有時會導致影像在平滑過渡處出現鋸齒狀邊緣。 TIFF 支援多種透明度形式,包括二值透明度(類似於 GIF)和 Alpha 通道透明度。 Alpha 通道透明度可實現平滑過渡和半透明像素,從而提供高品質的透明效果。 卡通 GIF 透過將多個幀合併到一個檔案中來支援簡單的動畫。每個幀都可以設定自己的時間延遲,從而創建基本的動畫形式。 GIF 動畫在網路上廣受支持。 TIFF格式並非主要為動畫而設計。雖然它可以儲存多張圖像,但它不像GIF那樣內建動畫支援。多頁TIFF檔案中的每一頁通常都是一張單獨的圖像,而不是動畫序列中的一幀。 多頁條碼影像應選擇何種格式? 根據您的特定使用情況在 GIF 和 TIFF 之間進行選擇。 在處理需要精確保留細節的高解析度 BarCode 影像時,例如在文件歸檔或專業掃描應用程式中,請選擇 TIFF。 TIFF 支援各種壓縮方法和顏色深度,因此非常適合在不同類型的條碼中維持條碼品質,包括具有細節的條碼,例如 二維資料矩陣碼。 當檔案大小是一個考量,且您的條碼是簡單的線性格式,如 Code 39 或 Code 128 時,請選擇 GIF。GIF 廣泛的網路相容性使其適用於使用者可能會預覽條碼序列的線上應用程式。 不過,複雜的 QR 碼或有顏色漸層的 BarCode 應避免使用 GIF,因為 256 色的限制會影響可讀性。 檔案大小有哪些注意事項? 不同格式的檔案大小差異很大,會影響儲存、傳輸和處理速度。 無損壓縮的 TIFF 檔案在 300 DPI 下,每個 BarCode 影像的大小通常在 10-50KB 之間,適合存檔品質。 在 TIFF 中使用 JPEG 壓縮,尺寸可以減少 70-80%,同時維持可接受的 BarCode 可讀性。 GIF 檔一般較小,標準 BarCode 平均每格 5-15KB ,這是因為其調色板有限。 在執行具有特定效能需求的 BarCode 讀取時,請考慮較小的檔案處理速度較快,但在邊緣情況下可能會犧牲精確度。 我該如何設定進階 BarCode 讀取選項? <! -- --> <!--說明:說明程式碼概念的圖表或截圖 --> 雖然 IronBarcode 可以直接使用,但某些影像可能需要配置BarcodeReaderOptions類別才能實現準確**快速的**條碼讀取。 在'如何從影像檔 (jpg、png、gif、tiff、svg、bmp)'一文中找到更多關於此類的資訊。 如需詳細的 API 文件,請參閱 BarcodeReaderOptions 參考資料。 何時應該使用影像濾鏡以提高精確度? 當處理影像品質不佳的情況時,影像濾鏡就變得非常重要 - 這是多畫面檔案的常見情況,因為不同畫面的品質可能會有所差異。 當條碼因掃描器的限制而顯得模糊、因光線條件不佳而對比度低,或因壓縮偽像而含有雜訊時,請套用濾鏡。 IronBarcode 中的影像修正功能包括針對不同光線條件的自適應閾值處理、針對動態模糊的銳化濾鏡,以及針對褪色印刷品的對比強化。 對於多畫面檔案而言,濾鏡特別有價值,因為濾鏡可以補償畫面之間的品質差異,而無需手動介入。 下面的程式碼片段示範在 BarcodeReaderOptions 類中設定屬性: :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-multi-page-frame-tiff-gif-advance.cs using IronBarCode; using System; // Configure filters ImageFilterCollection filters = new ImageFilterCollection() { new SharpenFilter(3.5f), new ContrastFilter(2) }; // Configure options BarcodeReaderOptions options = new BarcodeReaderOptions() { ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode, ImageFilters = filters, ExpectMultipleBarcodes = true, Speed = ReadingSpeed.Balanced }; // Read barcode from TIF image BarcodeResults results = BarcodeReader.Read("sample.tif", options); // Output the barcodes value to console foreach (var result in results) { Console.WriteLine(result.Value); } Imports IronBarCode Imports System ' Configure filters Private filters As New ImageFilterCollection() From { New SharpenFilter(3.5F), New ContrastFilter(2) } ' Configure options Private options As New BarcodeReaderOptions() With { .ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.QRCode, .ImageFilters = filters, .ExpectMultipleBarcodes = True, .Speed = ReadingSpeed.Balanced } ' Read barcode from TIF image Private results As BarcodeResults = BarcodeReader.Read("sample.tif", options) ' Output the barcodes value to console For Each result In results Console.WriteLine(result.Value) Next result $vbLabelText $csharpLabel 對於多頁文件,我應該使用何種效能設定? 多頁文件的效能最佳化需要根據您的需求平衡速度與精確度。 對於速度要求極高的大批量處理,請使用 ReadingSpeed.Faster 或 ReadingSpeed.Fastest ,這會降低掃描的徹底性,但會顯著提高吞吐量 - 非常適合在受控環境中使用印刷精美的 BarCode。 對於精確度極為重要的關鍵任務應用程式,ReadingSpeed.Detailed 可確保以處理時間為代價,達到最高偵測率。ReadingSpeed.Balanced設定可為大多數的商業應用程式提供最佳的中間位置。 在處理多頁檔案時,請考慮實作 異步讀取模式,以平行方式處理訊框,大幅提升整體吞吐量。 如何優化閱讀速度與精確度? 優化速度與精確度的權衡涉及數個策略配置。 首先,使用 ExpectBarcodeTypes 指定預期的 BarCode 類型,以消除不必要的格式檢查 - 僅此一項就可將速度提高 40-60%。 其次,當條碼出現在不同畫格的一致位置時,請使用 裁剪區域,以縮小搜尋範圍。 第三,調整 MaxParallelThreads 屬性以符合您的 CPU 能力,以獲得最佳的平行處理畫格。 為了優化精確度,當框架可能包含數個條碼時,請啟用 ExpectMultipleBarcodes 並根據您的影像特性套用適當的影像篩選器。 ML 置信度閾值功能也有助於過濾複雜圖像中的誤判。 讀取失敗的常見疑難排解步驟有哪些? 當遇到多框架檔案讀取失敗時,請遵循此系統方法。 首先,透過擷取和測試單一畫格來驗證單一畫格的品質 - 如果單一畫格失敗,則問題並非特定於多畫格。 檢查常見的識別問題,例如靜區不足、Barcode歪斜或符號損壞。 針對具有挑戰性的 BarCode,啟用 TryHarder 模式,儘管這會增加處理時間。對於持續性的問題,請執行 影像方向修正,因為旋轉的 BarCode 是常見的失敗原因。 考慮調整解析度 - BarCode 通常在 200-300 DPI 下讀取效果最佳,超過 400 DPI 則效果會逐漸降低。 如果特定 BarCode 類型仍有問題,請參閱 支援的格式說明文件,以確保相容性。 儘管設定 BarcodeReaderOptions 物件對於大多數使用情況而言是 可選的,但它有助於從多頁 GIF 和 TIFF 圖像檔案中讀取條碼時充分利用 IronBarcode。 對於生產環境,請從預設設定開始,並根據您特定的效能指標和精確度要求逐步進行最佳化。 常見問題解答 如何在 C# 中從多頁 TIFF 檔案讀取 BarCode? 使用 IronBarcode,您可以使用單一方法呼叫從多頁 TIFF 檔案讀取條碼:BarcodeReader.Read("multiPageImage.tiff")。IronBarcode 會自動處理 TIFF 檔案中的每一頁,而不需要手動分格或預先處理。 我可以從動畫 GIF 檔案中擷取 BarCode 嗎? 是的,IronBarcode 能自動從動畫 GIF 檔案的所有畫格中提取條碼。只需將 GIF 檔案路徑傳給 BarcodeReader.Read 方法,IronBarcode 就會在內部解析每一格,以偵測並讀取所有存在的條碼。 從多頁影像讀取 BarCode 之前,是否需要手動分割畫面? 不,IronBarcode 消除了手動分框的需要。該函式庫的智慧型幀檢測功能可自動解析影像結構,並在內部迭代每個幀或頁面,從而簡化您的工作流程並減少潛在的故障點。 哪些影像格式支援多頁條碼讀取? IronBarcode 主要支援 TIFF 和動畫 GIF 格式的多頁條碼讀取。雖然該函式庫也可處理單頁格式,如 JPEG、PNG、BMP 和 SVG,但 TIFF 和 GIF 已特別針對多頁處理進行最佳化,並可自動偵測畫面。 從多頁影像讀取 BarCode 需要多少步驟? IronBarcode 只需要 5 個簡單的步驟:下載 C# 函式庫、準備您的 GIF 和 TIFF 圖像、將它們傳送到讀取方法、選擇性地套用圖像過濾器以獲得更好的精確度,以及在需要時將圖像轉換為多畫面格式。 為什麼 TIFF 格式特別適合多頁條碼掃描? TIFF 格式是使用 IronBarcode 進行文件掃描的理想選擇,因為它能以各種壓縮方法儲存多個全解析度影像。這種多功能性使得 TIFF 在處理包含多頁條碼的掃描文件時特別有效。 Hairil Hasyimi Bin Omar 立即與工程團隊聊天 軟體工程師 就像所有優秀的工程師一樣,Hairil 也是一位狂熱的學習者。他不斷精進 C#、Python 和 Java 的知識,利用這些知識為整個 Iron Software 的團隊成員增加價值。Hairil 從馬來西亞的 Universiti Teknologi MARA 大學加入 Iron Software 團隊,畢業於該校的化學與流程工程學系,並取得學士學位。 準備好開始了嗎? Nuget 下載 2,070,733 | 版本: 2026.2 剛剛發布 免費 NuGet 下載 總下載量:2,070,733 查看許可證