IronBarcode 操作指南 .NET 將條碼創建為串流 如何在 C# 中將條碼匯出為串流 Hairil Hasyimi Bin Omar 更新:1月 10, 2026 下載 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 可讓您生成條碼,並直接將其轉換為 MemoryStream 物件,而無需進行檔案 I/O,從而提高了性能和安全性。 這種簡化的方法可省去磁碟操作,並與應用程式無縫整合。 無論是建立 Web API、處理批次作業或與雲端服務整合,以流為基礎的 BarCode 生成都能提供現代應用程式所需的彈性與效率。 <! -- --> <!--說明:說明程式碼概念的圖表或截圖 --> 快速入門:立即將條碼匯出到串流 使用 IronBarcode 生成条形码并直接转换为 MemoryStream 只需一行代码。 不需要檔案系統。 立即開始使用 NuGet 建立 PDF 檔案: 使用 NuGet 套件管理器安裝 IronBarcode PM > Install-Package BarCode 複製並運行這段程式碼。 var stream = BarcodeWriter.CreateBarcode("Quick123", BarcodeEncoding.Code128).ToStream(); 部署到您的生產環境進行測試 立即開始在您的專案中使用 IronBarcode,免費試用! 免費試用30天 最小工作流程(5 個步驟) 下載 C# 庫以匯出條碼為串流 從輸入值創建各種條碼類型 將生成的條碼轉換為串流 使用特定方法將不同的影像格式匯出為串流 對串流資料進行進一步處理 如何將 BarCode 匯出為串流? 一旦您[用所需的值建立了條碼](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/),請使用 `ToStream` 方法將產生的條碼轉換成 `MemoryStream` 。 預設格式為 PNG。 即使在[套用自訂樣式](https://ironsoftware.com/csharp/barcode/how-to/customize-qr-code-style/)之後,此功能也能與 `QRCodeWriter` 搭配使用。 如需所有可用方法的全面說明文件,請參閱 [API Reference](https://ironsoftware.com/csharp/barcode/object-reference/api/)。 ### 將 BarCode 匯出為 Stream 範例 <!--說明:說明程式碼概念的圖表或截圖 --> ```csharp :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-stream.cs ``` 為何使用串流而非檔案? 使用串流可消除檔案系統的依賴性,並提供記憶體內處理,以獲得更好的效能。 此方法適用於 Web 應用程式、API,以及限制或不希望建立臨時檔案的情況。 以流為基礎的處理方式具有多項優點: - **增強安全性**:磁碟上沒有可能暴露敏感資料的暫存檔案 - **更佳的效能**:直接記憶體操作比磁碟 I/O 更快 - **雲端相容性**:可在容器化與無伺服器環境中無縫運作 - **資源效率**:減少磁碟空間使用量和檔案系統開銷 何時應該使用 MemoryStream 來處理 BarCode? 當您需要在記憶體中處理條碼時,請使用 `MemoryStream` ,直接將條碼傳送至 HTTP 回應,或與其他基於串流的 API 整合,而無需建立臨時檔案。 常見的情況包括 - **Web API 回應**:直接在 HTTP 回應中傳回 BarCode,無須儲存至磁碟 - **資料庫儲存**:將條碼資料儲存為資料庫中的二進位 blob - **電子郵件附件**:在電子郵件中即時產生和附加 BarCode - **雲端儲存**:直接上傳至 Azure Blob Storage、AWS S3 或類似服務 - **即時處理**:生成條碼以供立即使用,無需持久化 我可以將哪些影像格式匯出到 Streams? IronBarcode 支援多種[輸出資料格式](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/),用於串流匯出。 有幾個方法可以將 BarCode 物件轉換成 `MemoryStream` 。 這些方法簡化了流程,讓您可以根據所需的圖像格式進行選擇。 可用的方法包括 |翻譯方法| 格式 |說明| |--------|--------|-------------| |**BinaryStream** 屬性|位圖|返回一個 `System.IO.Stream` 的條碼渲染為位圖圖像| |<編碼>ToGifStream()編碼|GIF|適用於GIF影像格式| |<編碼>ToJpegStream()編碼|JPEG/JPG|適用於JPEG/JPG影像格式| |<代碼>ToPdfStream()代碼|PDF|適用於PDF文件格式| |<編碼>ToPngStream()編碼|PNG|適用於PNG影像格式| |`ToStream()`|PNG>ToTiffStream()代碼|> <!--說明:說明程式碼概念的圖表或截圖 --> 使用 `ToJpegStream` 和 `ToStream` 方法輸出 JPEG 影像格式的串流: ```csharp :path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-stream-to-jpeg-stream.cs ``` ### 進階流匯出範例 此綜合範例示範如何 [ 從各種資料類型建立 BarCode](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-from-data/) 並將其匯出為不同格式的串流: ```csharp 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(); } } } } ``` 如何選擇正確的格式? 根據您的需求選擇適當的格式: - **PNG**:最適合網頁使用,支援透明度、無損壓縮 - **JPEG**:較小的檔案大小,不需要透明度時的理想選擇 - **PDF**:完美的文件整合、報告和可列印格式 - **TIFF**:高品質存檔用途,支援多頁面 - **GIF**:有限的調色板,適合有動畫的簡單 BarCode 哪些是常見的串流處理情境? 基於流的 BarCode 處理可實現許多實際應用: 1.**Direct HTTP Response**:無需中間儲存,即可將條碼提供給 Web 客戶端 2.**資料庫二進位儲存**:將條碼資料儲存為 BLOB 欄位 3.**以記憶體為基礎的快取**:針對高效能方案快取已產生的 BarCode 4.**Stream Chaining**:透過轉換管道處理 BarCode 5.**批次處理**:無需磁碟 I/O 即可產生數以千計的 BarCode ### 使用串流資料工作 當使用串流工作時,您可能需要[從串流讀取 BarCode](https://ironsoftware.com/csharp/barcode/how-to/read-barcodes-from-streams/)。 以下是往返處理的範例: ```csharp 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(); } } ``` ### 效能考量 將 BarCode 匯出為串流時,請考慮這些效能提示: - **重複使用 Streams**:使用具有初始容量的 `MemoryStream` 以獲得更好的效能 - **同步操作**:處理大量資料時使用 async 方法 - **Stream Pooling**:為高頻操作實施流池化 - **格式選擇**:明智地選擇格式-PNG 通常比PDF快 ## 開始使用 IronBarcode 若要開始在您的專案中使用以流為基礎的 BarCode 產生功能,請造訪我們的 [全面入門指南](https://ironsoftware.com/csharp/barcode/docs/)。 [export barCode as stream documentation](https://ironsoftware.com/csharp/barcode/how-to/export-barcode-as-stream/) 提供了基於流的工作流程的其他範例和最佳實務。 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,002,059 | 版本: 2025.12 剛發表 免費下載 NuGet 下載總數:2,002,059 檢視授權