IRONSOFTWAREHOME

How to Read Barcodes from Streams with C#

Hairil Hasyimi Bin Omar
Hairil Hasyimi Bin Omar
Updated: 2026年6月4日

IronBarcode 可直接從.NET應用程式中的MemoryStream物件讀取條形碼,無需先將流保存到磁碟。這允許從儲存在記憶體中的影像和PDF文件流進行高效的條形碼處理。

MemoryStream是一個.NET Framework類別,它可以從儲存在記憶體中的流中進行讀寫。 它在記憶體中儲存資料,而不需要實際的文件。 此方法非常適合網頁應用程式、API,或者接收條形碼資料作為位元組陣列的情況,或需處理不建立暫時文件的影像。

除了從影像文件PDF文件讀取條形碼之外,IronBarcode還能從流中讀取條形碼。 該程式庫接收PDF文件或影像流作為輸入,並輸出條形碼讀取結果。 此能力適合從資料庫、網站上傳或記憶體快取的內容中處理資料。

快速開始:直接從影像流讀取條形碼

使用IronBarcode的兩行程式碼從任何影像流中讀取條形碼——不需要磁碟寫入。 此範例展示了在.NET中基於流的條形碼讀取。

  1. 1Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

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

    var result = IronBarCode.BarcodeReader.Read(myImageStream);
    Console.WriteLine(result[0].Text);
    C#
  3. 3部署以在您的實時環境中測試

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

如何從影像流中讀取條形碼?

為什麼使用記憶體流而不是文件?

記憶體流提供了比基於文件的操作更多的優勢。 它們消除了磁碟I/O的開銷,使應用程式更快速。 由於敏感的條形碼資料從未接觸磁碟,它們提高了安全性。 它們同樣適合磁碟存取受限或昂貴的雲環境。結合IronBarcode的異步與多執行緒能力,您可以同時處理多個流以獲得最大效能。

本節顯示如何使用IronBarcode讀取儲存在List<MemoryStream>中的單個及多個影像流。 以下程式碼包含注釋,用於解釋過程:

支持哪種型別的影像格式?

IronBarcode支持從流中讀取多種影像格式:JPEG、PNG、GIF、TIFF、BMP和SVG。 這種靈活性允許處理無論來源格式的條形碼影像。 為了獲得最佳結果,使用條形碼讀取器設定來微調讀取過程。

using IronBarCode;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.IO;

List<MemoryStream> list = new List<MemoryStream>();
list.Add(AnyBitmap.FromFile("image1.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image2.jpg").ToStream());
list.Add(AnyBitmap.FromFile("image3.png").ToStream());

var myBarcode = BarcodeReader.Read(list);

foreach (var barcode in myBarcode)
{
    Console.WriteLine(barcode.ToString());
}

如何處理多個影像流?

上面的程式碼顯示IronBarcode接受單個BarcodeReader.Read()方法中。 該範例將影像文件轉換為MemoryStream物件並直接從流中讀取條形碼。

當處理多個流時,IronBarcode有效地使用其讀取速度選項。 根據您的需求調整讀取速度——無論是需要最大準確性還是最快處理時間。從單個流中讀取多個條形碼時,IronBarcode會自動檢測並返回所有找到的條形碼。

對於流中不完美或低質量影像的增強準確性,在處理之前應用影像校正過濾器。 這顯著改善條形碼識別率。

如何從PDF文件流中讀取條形碼?

為什麼使用Read()

Read()方法更好的優勢。 它高效地處理PDF特有的功能,如多頁文件、向量圖形和嵌入影像。 該方法自動處理所有PDF頁面,並有效應對各種PDF格式和壓縮型別。對於綜合特點,請參見條形碼讀取教程

本節展示了使用IronBarcode來讀取作為MemoryStream物件或PDF文件流列表的PDF文件。 這是程式碼:

多個PDF文件怎麼辦?

using IronBarCode;
using IronPdf;
using System;
using System.IO;

MemoryStream document = PdfDocument.FromFile(@"file_path.pdf").Stream;

var myBarcode = BarcodeReader.ReadPdf(document);

foreach (var value in myBarcode)
{
    Console.WriteLine(value.ToString());
}

如何有效地處理多個PDF流?

從PDF文件中作為MemoryStream物件讀取條形碼類似於從影像讀取。 主要差異在於方法:BarcodeReader.ReadPdf()專門處理PDF文件。 範例使用IronPDF將PDF文件轉換為MemoryStream物件。

對於多個PDF文件,將所有PDF合併為一個文件流,然後再將其提供給BarcodeReader.ReadPdf()。 此方法比單獨處理每個PDF更有效,並減少記憶體負擔。 配置PDF專用條形碼讀取器設定來優化您的文件讀取。

對於高級場景,處理特定的頁面或PDF的區域。 IronBarcode允許指定頁面範圍和裁剪頁面中的區域,鎖定條形碼出現的區域。 這提高了處理大型文件的速度。

在生產環境中使用流時,正確處理MemoryStream物件以防止記憶體洩漏。 using語句確保自動處理:

using (MemoryStream pdfStream = new MemoryStream(pdfBytes))
{
    var results = BarcodeReader.ReadPdf(pdfStream);
    // Process results
}

實驗並調整程式庫以滿足您的特定需求。 IronBarcode靈活的API允許從調整檢測靈敏度到指定預期條形碼格式的廣泛讀取過程自訂。

常見問題

如何在不先保存到磁碟的情況下從資料流讀取條碼?

IronBarcode允許您直接從MemoryStream物件讀取條碼,而無需保存到磁碟。只需將資料流傳遞給BarcodeReader.Read()方法。此方法消除了磁碟I/O的開銷,並且非常適合從網頁上傳、資料庫或API處理影像。

當處理資料流時,條碼閱讀器支持哪些影像格式?

IronBarcode在從資料流讀取時支持多種影像格式,包括JPEG、PNG、GIF、TIFF、BMP和SVG。此靈活性允許您處理來自各種來源的條碼影像,而無需進行格式轉換。

我可以同時處理多個條碼影像資料流嗎?

是的,IronBarcode支持非同步和多執行緒功能,允許您同時處理多個條碼資料流,以獲得最佳效能。這在處理來自記憶體的大量條碼讀取操作時特別有用。

使用記憶體流讀取條碼有哪些優勢?

使用IronBarcode進行記憶體流處理消除了磁碟I/O的開銷,提供更快的效能。增強了安全性,因為敏感資料不會接觸磁碟儲存。並且更適合雲端環境中,磁碟存取可能受限或昂貴的情況。

如何從PDF文件資料流中讀取條碼?

IronBarcode可以從影像和PDF文件資料流中讀取條碼。只需將PDF MemoryStream傳遞給BarcodeReader.Read()方法,即可提取並解碼PDF頁面內發現的所有條碼。

在處理資料流時,可以微調條碼讀取過程嗎?

是的,IronBarcode提供可自定義的條碼閱讀器設置,可讓您根據特定使用案例最佳化閱讀過程,無論是處理單一資料流或儲存在集合中的多個資料流。

How do I manage multiple PDF streams for barcode reading with IronBarcode?

For multiple PDFs, merge them into a single document stream and process with `BarcodeReader.ReadPdf()`. This approach enhances efficiency by reducing processing overhead and memory usage.

What steps are involved in reading a barcode from an image stream using IronBarcode?

First, instantiate a `MemoryStream` for your image data, then call `BarcodeReader.Read()` on the stream. This simple process allows for direct barcode extraction from in-memory data.

How can IronBarcode handle image correction for low-quality images?

IronBarcode provides image correction filters, improving barcode recognition rates for imperfect or low-quality image streams, enhancing overall reading accuracy.

How do I ensure efficient memory usage when processing streams with IronBarcode?

Ensure to dispose of `MemoryStream` objects after use, ideally with a `using` statement to prevent memory leaks. This practice is crucial in production to maintain optimal performance.

準備好開始了嗎?

Nuget Downloads 2,422,100版本:2026.9剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

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

版本: 2026.9

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

版本: 2026.9

  1. 下載並解壓IronBarCode至您的Solution目錄中的~/Libs等位置
  2. 在Visual Studio解決方案資源管理器中右鍵點擊References,選擇瀏覽,"IronBarCode.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
預訂您的免費即時演示
Booking Badge

全球數百萬工程師信賴

Iron Software的客戶標誌
獲取您的無義務諮詢
完成下方表單或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
全球數百萬工程師信賴
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立