IronBarcode 操作指南 .NET從流中讀取條碼 How to Read Barcodes from Streams with C Hairil Hasyimi Bin Omar 更新:2026年1月31日 下載 IronBarcode NuGet 下載 DLL 下載 開始免費試用 LLM副本 LLM副本 將頁面複製為 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直接從.NET應用程式中的 MemoryStream 物件讀取條碼,無需先將資料流儲存到磁碟。這使得它可以有效率地處理儲存在記憶體中的圖像和 PDF 文件流中的條碼。 MemoryStream 是一個.NET Framework類,用於讀取和寫入記憶體存儲的流。 它無需物理文件即可處理數據,而是將數據儲存在記憶體中。 這種方法適用於 Web 應用程式、API 或以位元組數組形式接收條碼資料或需要在不建立臨時檔案的情況下處理映像的場景。 除了從影像檔案或PDF 檔案中讀取條碼外, IronBarcode還可以從資料流中讀取條碼。 該庫接受 PDF 文件或圖像流作為輸入,並輸出條碼讀取結果。 此功能適用於處理來自資料庫、網路上傳或記憶體快取內容的資料。 快速入門:直接從影像流讀取條碼 使用IronBarcode ,只需兩行程式碼即可從任何圖像流中讀取條碼——無需寫入磁碟。 本範例示範了.NET中基於流的條碼讀取。 使用NuGet套件管理器安裝https://www.nuget.org/packages/BarCode PM > Install-Package BarCode 複製並運行這段程式碼。 var result = IronBarCode.BarcodeReader.Read(myImageStream); Console.WriteLine(result[0].Text); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronBarcode Free 30 Day Trial 最簡工作流程(5個步驟) 從影像流中讀取條碼 從 PDF 文件流程中讀取條碼 如何從影像流讀取條碼? 為什麼使用記憶體流而不是檔案? 與基於檔案的操作相比,記憶體流具有幾個優勢。 它們消除了磁碟 I/O 開銷,從而提高了應用程式的運行速度。 由於敏感條碼資料永遠不會接觸磁碟,因此安全性更高。 它們也適用於磁碟存取受限或成本高昂的雲端環境。結合 IronBarcode 的非同步和多執行緒功能,您可以同時處理多個資料流,從而實現最佳效能。 本節展示如何使用IronBarcode讀取儲存在 List<MemoryStream> 中的圖像流和多個圖像流。 以下程式碼包含解釋該過程的註解: 支援哪些類型的圖像格式? IronBarcode在從資料流讀取資料時支援多種影像格式:JPEG、PNG、GIF、TIFF、BMP 和 SVG。 這種靈活性使得無論來源格式如何,都可以處理條碼影像。 為了獲得最佳效果,請使用條碼閱讀器設定來微調讀取過程。 using IronBarCode; using System; using System.Collections.Generic; using System.IO; class BarcodeFromImageStream { static void Main(string[] args) { // Create a list of MemoryStreams to store image streams List<MemoryStream> imageStreams = new List<MemoryStream> { // Example of adding an existing MemoryStream object to the list new MemoryStream(File.ReadAllBytes("example1.png")), new MemoryStream(File.ReadAllBytes("example2.png")) }; :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-1.cs using IronBarCode; using System; using System.Collections.Generic; using System.IO; class BarcodeFromImageStream { static void Main(string[] args) { // Create a list of MemoryStreams to store image streams List<MemoryStream> imageStreams = new List<MemoryStream> { // Example of adding an existing MemoryStream object to the list new MemoryStream(File.ReadAllBytes("example1.png")), new MemoryStream(File.ReadAllBytes("example2.png")) }; 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()); } $vbLabelText $csharpLabel 如何處理多個影像流? 上面的程式碼顯示IronBarcode在 MemoryStream 方法中接受單一 MemoryStream 物件或 BarcodeReader.Read() 物件清單。 此範例將影像檔案轉換為 MemoryStream 對象,並直接從流中讀取條碼。 在處理多個資料流時, IronBarcode能有效率地利用其讀取速度選項。 根據您的需求調整讀取速度—無論是追求最高精度還是最快處理速度。對於從單一資料流讀取多個條碼的情況, IronBarcode會自動偵測並傳回所有找到的條碼。 對於流中影像品質不佳或較差的情況,為了提高處理精度,請在處理前套用影像校正濾鏡。 這顯著提高了條碼識別率。 如何從PDF文件流程讀取條碼? 為什麼要使用 ReadPdf() 而不是 Read()? ReadPdf() 方法專門針對 PDF 文件進行了最佳化,比通用的 Read() 方法具有優勢。 它能有效率地處理 PDF 特有的功能,例如多頁文件、向量圖形和嵌入式影像。 此方法可自動處理所有 PDF 頁面,並支援各種 PDF 格式和壓縮類型。有關完整功能,請參閱條碼讀取教學。 本節示範如何使用IronBarcode將 PDF 文件檔案讀取為 MemoryStream 物件或 PDF 文件流程清單。 以下是代碼: 如果是多個PDF文件怎麼辦? :path=/static-assets/barcode/content-code-examples/how-to/read-barcodes-from-streams-2.cs 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()); } $vbLabelText $csharpLabel 如何有效率地處理多個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 } using (MemoryStream pdfStream = new MemoryStream(pdfBytes)) { var results = BarcodeReader.ReadPdf(pdfStream); // Process results } $vbLabelText $csharpLabel 嘗試並根據您的具體需求調整庫。 IronBarcode 的靈活 API 允許對讀取過程進行廣泛的自定義,從調整檢測靈敏度到指定預期的條碼格式。 常見問題解答 如何從串流讀取 BarCode 而不先儲存到磁碟? IronBarcode 可讓您直接從 MemoryStream 物件讀取條碼,而無需儲存至磁碟。只需將您的流傳給BarcodeReader.Read()方法。此方法可消除磁碟 I/O 開銷,非常適合處理來自 Web 上傳、資料庫或 API 的影像。 當處理流時,Barcode 閱讀器支援哪些影像格式? IronBarcode 從串流讀取時支援多種影像格式,包括 JPEG、PNG、GIF、TIFF、BMP 和 SVG。這種靈活性使您無需轉換格式即可處理來自不同來源的 BarCode 圖像。 我可以同時處理多個 BarCode 影像串流嗎? 是的,IronBarcode 支持异步和多线程功能,允許您同時處理多個條碼流以獲得最高性能。這在從記憶體處理大量條碼讀取操作時特別有用。 與基於檔案的 BarCode 讀取方式相比,使用記憶體串流有哪些優點? 採用 IronBarcode 的記憶體串流處理,可消除磁碟 I/O 開銷,提供更快的效能;由於敏感資料從未接觸磁碟儲存空間,因此安全性得以提升;並且與磁碟存取可能受限或昂貴的雲端環境相容性更佳。 如何從 PDF 文件流中讀取 BarCode? IronBarcode 可以從圖片和 PDF 文件流中讀取條碼。只需將您的 PDF MemoryStream 傳送至 BarcodeReader.Read() 方法,它便會提取並解碼在 PDF 頁面中找到的所有條碼。 當使用串流工作時,是否可以微調 BarCode 讀取程序? 是的,IronBarcode 提供可自定義的條碼讀取器設定,無論是處理單一資料流或儲存於集合中的多個資料流,都能讓您針對特定的使用情況最佳化讀取程序。 Hairil Hasyimi Bin Omar 立即與工程團隊聊天 軟體工程師 和所有优秀的工程师一样,Hairil 是個努力学习者。他正在细化自己的 C# 、Python 和 Java 知识,将这些知识應用于 Iron Software 各個团队成员以增加价值。Hairil 自马来西亚 Universiti Teknologi MARA 加入 Iron Software 团队,并以化学与工艺工程学士学位毕业。 準備好開始了嗎? Nuget 下載 2,121,847 | 版本: 2026.3 剛剛發布 開始免費試用 免費 NuGet 下載 總下載量:2,121,847 查看許可證 還在捲動嗎? 想要快速證明? PM > Install-Package BarCode 執行範例 看您的字串變成 BarCode。 免費 NuGet 下載 總下載量:2,121,847 查看許可證