IronBarcode 操作指南 .NET 將條碼創建為串流 How to Export Barcodes as Streams in 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可讓您產生條碼並將其直接轉換為 MemoryStream 對象,而無需檔案 I/O,從而提高效能和安全性。 這種簡化的方法消除了磁碟操作,並實現了與應用程式的無縫整合。 無論是建立 Web API、處理批量操作,還是與雲端服務集成,基於流的條碼生成都能提供現代應用程式所需的靈活性和效率。 快速入門:立即將條碼匯出至串流 使用IronBarcode產生條碼,並用一行程式碼將其直接轉換為 MemoryStream。 無需檔案系統。 使用NuGet套件管理器安裝https://www.nuget.org/packages/BarCode PM > Install-Package BarCode 複製並運行這段程式碼。 var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream(); 部署到您的生產環境進行測試 今天就在您的專案中開始使用免費試用IronBarcode Free 30 Day Trial 最簡工作流程(5個步驟) 下載 C# 庫以將條碼匯出為串流 根據輸入值建立各種條碼類型 將產生的條碼轉換為串流 使用特定方法將不同影像格式匯出為串流。 對流資料進行進一步處理 如何將條碼匯出為資料流? 建立具有所需值的條碼後,使用 ToStream 方法將產生的條碼轉換為 MemoryStream。 預設格式為PNG。 即使在套用自訂樣式之後,此功能也適用於 QRCodeWriter。 有關所有可用方法的完整文檔,請參閱API 參考。 導出條碼流範例 :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-stream.cs using IronBarCode; using System.IO; // Create one-dimensional barcode GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IronBarcode1234", BarcodeEncoding.Code128); // Convert barcode to stream Stream barcodeStream = barcode.ToStream(); // Create QR code GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode("IronBarcode1234"); // Convert QR code to stream Stream qrCodeStream = qrCode.ToStream(); $vbLabelText $csharpLabel 為什麼使用流而不是文件? 使用流可以消除對檔案系統的依賴,並提供記憶體處理,從而獲得更好的效能。 這種方法非常適合 Web 應用程式、API 以及臨時檔案建立受到限製或不希望建立的場景。 基於流的處理有以下幾個優點: -增強安全性:磁碟上不會有可能洩露敏感資料的臨時文件 -更佳效能:直接記憶體操作比磁碟 I/O 更快 -雲端相容性:可在容器化和無伺服器環境中無縫運行 -資源效率:減少磁碟空間使用和檔案系統開銷 何時應該使用 MemoryStream 處理條碼? 當您需要在記憶體中處理條碼、直接將其發送到 HTTP 回應或與其他基於流的 API 整合而不建立臨時檔案時,請使用 MemoryStream。 常見場景包括: Web API 回應:直接在 HTTP 回應中傳回條碼,無需儲存到磁碟。 -資料庫儲存:將條碼資料以二進位資料塊的形式儲存在資料庫中 -電子郵件附件:即時產生條碼並將其附加到電子郵件中 -雲端儲存:直接上傳到 Azure Blob 儲存體、AWS S3 或類似服務 -即時處理:產生條碼以供立即使用,無需持久保存 我可以將哪些圖像格式匯出到串流媒體? IronBarcode支援多種資料流匯出格式。 有幾種方法可以將條碼物件轉換為 MemoryStream。 這些方法簡化了流程,您可以根據所需的圖像格式進行選擇。 可用方法包括: 方法 格式 描述 BinaryStream屬性 點陣圖 傳回以點陣圖影像形式渲染的條碼的 System.IO.Stream 值 ToGifStream() GIF GIF影像格式 ToJpegStream() JPEG/JPG JPEG/JPG影像格式 ToPdfStream() PDF PDF文件格式 ToPngStream() PNG PNG影像格式 ToStream() PNG(預設) 預設使用PNG圖像格式。 接受AnyBitmap.ImageFormat枚舉欄位作為參數,以指定所需的格式 ToTiffStream() 多倫多國際電影節 TIFF影像格式 將條碼以流的形式匯出為各種圖像格式 使用 ToJpegStream 和 ToStream 方法以 JPEG 影像格式輸出流: :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-jpeg-stream.cs using IronBarCode; using IronSoftware.Drawing; using System.IO; // Create one-dimensional barcode GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IronBarcode1234", BarcodeEncoding.Code128); // Convert barcode to JPEG stream Stream barcodeStream = barcode.ToStream(AnyBitmap.ImageFormat.Jpeg); // Create QR code GeneratedBarcode qrCode = QRCodeWriter.CreateQrCode("IronBarcode1234"); // Convert QR code to JPEG stream Stream qrCodeStream = qrCode.ToJpegStream(); $vbLabelText $csharpLabel 進階流導出範例 這個綜合範例示範如何從各種資料類型建立條碼,並將其作為不同格式的資料流匯出: using IronBarCode; using IronSoftware.Drawing; using System.IO; using System.Drawing.Imaging; public class BarcodeStreamExporter { public static void ExportMultipleFormats() { // Generate barcode with custom data var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-2024-001", BarcodeEncoding.Code128); // Apply styling myBarcode.ResizeTo(300, 150); myBarcode.SetMargins(10); myBarcode.AddAnnotationTextAboveBarcode("Product ID"); // Export to different stream formats Stream pngStream = myBarcode.ToPngStream(); Stream jpegStream = myBarcode.ToJpegStream(); Stream pdfStream = myBarcode.ToPdfStream(); Stream tiffStream = myBarcode.ToTiffStream(); // Use with HTTP response (ASP.NET Core example) // return File(pngStream, "image/png", "barcode.png"); } public static byte[] GenerateQRCodeBytes(string data) { // Create QR code with error correction var qrCode = QRCodeWriter.CreateQrCodeWithLogo(data, "logo.png", 500); // Convert to byte array via stream using (var stream = qrCode.ToStream()) { using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); return memoryStream.ToArray(); } } } } using IronBarCode; using IronSoftware.Drawing; using System.IO; using System.Drawing.Imaging; public class BarcodeStreamExporter { public static void ExportMultipleFormats() { // Generate barcode with custom data var myBarcode = BarcodeWriter.CreateBarcode("PRODUCT-2024-001", BarcodeEncoding.Code128); // Apply styling myBarcode.ResizeTo(300, 150); myBarcode.SetMargins(10); myBarcode.AddAnnotationTextAboveBarcode("Product ID"); // Export to different stream formats Stream pngStream = myBarcode.ToPngStream(); Stream jpegStream = myBarcode.ToJpegStream(); Stream pdfStream = myBarcode.ToPdfStream(); Stream tiffStream = myBarcode.ToTiffStream(); // Use with HTTP response (ASP.NET Core example) // return File(pngStream, "image/png", "barcode.png"); } public static byte[] GenerateQRCodeBytes(string data) { // Create QR code with error correction var qrCode = QRCodeWriter.CreateQrCodeWithLogo(data, "logo.png", 500); // Convert to byte array via stream using (var stream = qrCode.ToStream()) { using (var memoryStream = new MemoryStream()) { stream.CopyTo(memoryStream); return memoryStream.ToArray(); } } } } $vbLabelText $csharpLabel 如何選擇合適的格式? 請根據您的需求選擇合適的格式: PNG :最適合網頁使用,支援透明度,無損壓縮 JPEG :檔案較小,非常適合不需要透明度的情況。 PDF :非常適合文件整合、報告和列印格式 TIFF :高品質存檔用途,支援多頁。 GIF :顏色選擇有限,適用於簡單的動畫條碼。 常見的串流處理場景有哪些? 基於流的條碼處理技術可實現眾多實際應用: 1.直接 HTTP 回應:無需中間儲存即可向 Web 用戶端提供條碼 2.資料庫二進位儲存:將條碼資料儲存為 BLOB 字段 3.基於記憶體的快取:快取為高效能場景產生的條碼 4.串流鍊式處理:透過轉換管道處理條碼 5.批次處理:無需磁碟 I/O 即可產生數千個條碼 處理串流資料 在處理資料流時,您可能需要從資料流讀取條碼。 以下是一個往返處理的範例: using IronBarCode; using System.IO; using System.Collections.Generic; public class StreamRoundTrip { public static void ProcessBarcodeStream() { // Generate barcode and get stream var originalBarcode = BarcodeWriter.CreateBarcode("STREAM-TEST-123", BarcodeEncoding.Code128); Stream barcodeStream = originalBarcode.ToStream(); // Read barcode back from stream var results = BarcodeReader.Read(barcodeStream); foreach (var result in results) { Console.WriteLine($"Value: {result.Value}"); Console.WriteLine($"Format: {result.BarcodeType}"); } // Don't forget to dispose of the stream barcodeStream.Dispose(); } } using IronBarCode; using System.IO; using System.Collections.Generic; public class StreamRoundTrip { public static void ProcessBarcodeStream() { // Generate barcode and get stream var originalBarcode = BarcodeWriter.CreateBarcode("STREAM-TEST-123", BarcodeEncoding.Code128); Stream barcodeStream = originalBarcode.ToStream(); // Read barcode back from stream var results = BarcodeReader.Read(barcodeStream); foreach (var result in results) { Console.WriteLine($"Value: {result.Value}"); Console.WriteLine($"Format: {result.BarcodeType}"); } // Don't forget to dispose of the stream barcodeStream.Dispose(); } } $vbLabelText $csharpLabel 性能考量 將條碼匯出為資料流時,請考慮以下效能最佳化技巧: -重複使用流:使用初始容量為 MemoryStream 以獲得更好的效能 -非同步操作:處理大量資料時使用非同步方法。 -流池化:實現流池化以應對高頻操作 格式選擇:謹慎選擇格式-PNG 通常比 PDF 快。 IronBarcode入門指南 要開始在您的專案中使用基於流的條碼生成,請訪問我們的綜合入門指南。 將條碼匯出為串流的文件提供了更多基於串流的工作流程範例和最佳實務。 IronBarcode可以輕鬆建立條碼並將其匯出到 MemoryStream 物件。 這種基於串流的方法提供了卓越的效能、增強的安全性以及與現代雲端原生應用程式的無縫整合。 常見問題解答 如何將 BarCode 轉換為 MemoryStream 而不儲存至磁碟? 使用 IronBarcode,您可以使用 ToStream() 方法直接將條碼轉換為 MemoryStream。只需使用 BarcodeWriter.CreateBarcode() 創建您的條碼,並在結果上呼叫 ToStream()。這會在預設情況下產生一個 PNG 流,而不需要任何檔案 I/O 操作。 將 BarCode 轉換為串流時,可以匯出哪些影像格式? IronBarcode 支援將條碼匯出成多種格式的串流。當使用 ToStream() 方法時,預設格式為 PNG。您也可以使用專為不同圖像類型設計的特定方法匯出成其他格式,以根據您應用程式的需求提供彈性。 為什麼我應該使用基於流的 BarCode 產生方法,而不是基於檔案的方法? 使用 IronBarcode 生成基于流的條形碼可通過避免临時文件来增強安全性,通過直接內存操作来提高性能,為容器化环境提供無缝云兼容性,以及通過减少磁盘空间使用和文件系统開销来提高资源效率。 我可以在匯出 QR 碼為串流之前套用自訂樣式嗎? 是的,IronBarcode 允許您在輸出 QR 代碼為串流之前,將自訂的樣式套用在 QR 代碼上。QRCodeWriter 支援所有的樣式選項,ToStream() 方法在套用您所需的自訂樣式之後可以無縫運作,在碼流輸出中維持樣式外觀。 將 BarCode 匯出為 MemoryStreams 的常見用例有哪些? IronBarcode 的流导出功能非常適合需要在 HTTP 响應中直接返回條形碼的 Web API 响應、數据庫存储為二進制 blob、电子邮件附件以及与云服务或無服务器环境集成(文件系统访問受限)。 如何只用一行代碼就能建立條碼流? IronBarcode 可使用單行條碼流創建:BarcodeWriter.CreateBarcode(「您的值」, BarcodeEncoding.Code128).ToStream()。這將使用您指定的值和編碼創建一個條碼,然後馬上將其轉換為 MemoryStream,而無需中間步驟。 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 查看許可證