如何在 C# 中將 BarCode 建立為 PDF 檔案

如何在 C# 中將 BarCode 匯出為 PDF

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode 讓 C# 開發人員能透過三種方式將 BarCode 匯出為 PDF:直接儲存至檔案、轉換為二進位資料,或串流至記憶體——所有操作皆只需簡單的一行指令即可完成。

快速入門:立即將 BarCode 匯出為 PDF

此範例展示了如何使用 IronBarcode for .NET 在 .NET 中輕鬆將條碼匯出為 PDF 檔案。 只需一行代碼,即可生成可直接用於 PDF 的 BarCode——非常適合節省、串流或快速傳送。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/BarCode

    PM > Install-Package BarCode
  2. 請複製並執行此程式碼片段。

    var pdfBytes = IronBarCode.BarcodeWriter.CreateBarcode("FastPDF", IronBarCode.BarcodeWriterEncoding.Code128).ToPdfBinaryData();
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronBarcode

    arrow pointer

如何將 BarCode 匯出為 PDF 檔案?

為何要將 BarCode 直接儲存至 PDF 檔案?

當您需要生成實體文件、製作可列印標籤,或將條碼歸檔以供長期儲存時,將條碼直接儲存至 PDF 檔案是最直接的方法。 此方法特別適用於庫存管理系統、運送標籤及文件生成工作流程,因為 PDF 格式能確保在不同平台和印表機上呈現一致的效果。

若要將 BarCode 儲存為 PDF 檔案,請先使用 GeneratedBarcode 建立 BarcodeWriter.CreateBarcode 物件,然後使用 SaveAsPdf() 方法進行轉換並儲存至磁碟。 以下程式碼片段示範其運作方式。

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfFile.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
myBarcode.SaveAsPdf("myBarcode.pdf");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix)
myBarcode.SaveAsPdf("myBarcode.pdf")
$vbLabelText   $csharpLabel

如需更進階的BarCode建立選項,請參閱我們關於從各種資料來源建立BarCode的完整指南。

有哪些可用的檔案路徑選項?

IronBarcode 提供多種靈活的檔案路徑選項,供使用者儲存 PDF 檔案。 您可以指定絕對路徑、相對路徑,或使用環境變數。 以下是一個更詳細的範例,展示不同的路徑選項:

using IronBarCode;
using System;
using System.IO;

// Create a barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Save to current directory
barcode.SaveAsPdf("barcode.pdf");

// Save to absolute path
barcode.SaveAsPdf(@"C:\BarcodeExports\product_barcode.pdf");

// Save to relative path
barcode.SaveAsPdf(@"..\..\exports\barcode.pdf");

// Save using environment path
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
using IronBarCode;
using System;
using System.IO;

// Create a barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128);

// Save to current directory
barcode.SaveAsPdf("barcode.pdf");

// Save to absolute path
barcode.SaveAsPdf(@"C:\BarcodeExports\product_barcode.pdf");

// Save to relative path
barcode.SaveAsPdf(@"..\..\exports\barcode.pdf");

// Save using environment path
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
Imports IronBarCode
Imports System
Imports System.IO

' Create a barcode
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("PRODUCT-12345", BarcodeEncoding.Code128)

' Save to current directory
barcode.SaveAsPdf("barcode.pdf")

' Save to absolute path
barcode.SaveAsPdf("C:\BarcodeExports\product_barcode.pdf")

' Save to relative path
barcode.SaveAsPdf("..\..\exports\barcode.pdf")

' Save using environment path
Dim documentsPath As String = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"))
$vbLabelText   $csharpLabel

本文將探討如何使用 IronBarcode 將 BarCode 匯出為 PDF 檔案。 透過 IronBarcode,BARCODE 可匯出為檔案、二進位資料或記憶體流。 如需了解 IronBarcode 的完整功能概覽,請參閱我們的入門文件

何時該使用檔案匯出功能,而非其他方法?

請在以下情況選擇檔案匯出:

  • 您需要永久儲存BarCode
  • 產生報告或可列印文件
  • 建立批次檔以進行離線處理
  • 與檔案系統整合

在以下情況下請考慮二進位資料或資料流:

  • 處理需要即時回應的網頁應用程式
  • 儲存於資料庫中
  • 透過 API 傳送,無需存取檔案系統
  • 在記憶體受限環境中的處理

如何將 BarCode 匯出為 PDF 二進位資料?

為何使用二進位資料而非檔案?

二進位資料匯出非常適合需要在不建立暫存檔的情況下,於記憶體中處理 PDF 資料的場景。 此方法在網頁應用程式、雲端環境以及處理資料庫時尤為實用。 它消除了檔案 I/O 操作,透過將資料保留在記憶體中來提升效能與安全性。

若要匯出為 PDF 二進位資料,請先產生 BARCODE,然後呼叫 ToPdfBinaryData() 方法。 這會將 PDF 二進位資料輸出為 byte[] 陣列。 以下程式碼片段示範其運作方式。

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfBinaryData.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
byte[] myBarcodeByte = myBarcode.ToPdfBinaryData();
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix)
Private myBarcodeByte() As Byte = myBarcode.ToPdfBinaryData()
$vbLabelText   $csharpLabel

您也可以在匯出前自訂BARCODE的外觀。 進一步了解如何自訂 BarCode 樣式,以提升您的 PDF 匯出品質。

如何將二進位 PDF 資料傳送至 API?

二進位 PDF 資料可透過 REST API 輕鬆傳輸,使其成為微服務架構的理想選擇。 以下是一個透過 HTTP 請求傳送 BarCode PDF 資料的實用範例:

using IronBarCode;
using System.Net.Http;
using System.Threading.Tasks;

public async Task SendBarcodeToAPI()
{
    // Generate barcode and get binary data
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("API-DATA-123", BarcodeEncoding.QRCode);
    byte[] pdfData = barcode.ToPdfBinaryData();

    // Send via HTTP POST
    using (HttpClient client = new HttpClient())
    {
        ByteArrayContent content = new ByteArrayContent(pdfData);
        content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");

        HttpResponseMessage response = await client.PostAsync("https://api.example.com/barcode", content);
        // Handle response
    }
}
using IronBarCode;
using System.Net.Http;
using System.Threading.Tasks;

public async Task SendBarcodeToAPI()
{
    // Generate barcode and get binary data
    GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("API-DATA-123", BarcodeEncoding.QRCode);
    byte[] pdfData = barcode.ToPdfBinaryData();

    // Send via HTTP POST
    using (HttpClient client = new HttpClient())
    {
        ByteArrayContent content = new ByteArrayContent(pdfData);
        content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");

        HttpResponseMessage response = await client.PostAsync("https://api.example.com/barcode", content);
        // Handle response
    }
}
Imports IronBarCode
Imports System.Net.Http
Imports System.Threading.Tasks

Public Async Function SendBarcodeToAPI() As Task
    ' Generate barcode and get binary data
    Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("API-DATA-123", BarcodeEncoding.QRCode)
    Dim pdfData As Byte() = barcode.ToPdfBinaryData()

    ' Send via HTTP POST
    Using client As New HttpClient()
        Dim content As New ByteArrayContent(pdfData)
        content.Headers.ContentType = New System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf")

        Dim response As HttpResponseMessage = Await client.PostAsync("https://api.example.com/barcode", content)
        ' Handle response
    End Using
End Function
$vbLabelText   $csharpLabel

二進位檔匯出的常見應用情境有哪些?

二進位匯出常見於:

  • 資料庫儲存:將 PDF BarCode 以 BLOB 資料格式儲存於資料庫中
  • 電子郵件附件:無需建立臨時檔案即可將 BarCode 附加至電子郵件
  • 雲端儲存:直接上傳至 Azure Blob Storage 或 AWS S3 等服務
  • 內存處理:串聯多項操作,無需磁碟 I/O
  • Web API 回應:直接在 HTTP 回應中傳回 PDF 資料

如需更多BARCODE生成技術與最佳實務,請參閱我們關於從各種來源建立BARCODE的指南。 您亦可瞭解如何在現有 PDF 上加蓋 BARCODE,以因應更進階的 PDF 處理情境。

如何將 BarCode 匯出為 PDF 流?

為何要使用 Streams 進行 PDF 匯出?

流(Streams)提供了處理 PDF 資料最靈活的方式,特別是在與其他 .NET 函式庫整合,或需要對資料流進行細緻控制時。 串流特別適用於記憶體效率至關重要的大型操作,因為它們允許進行緩衝讀寫。

若要匯出為記憶體流,請先產生 BARCODE,然後呼叫 ToPdfStream() 方法。 此方法會傳回一個 System.IO.Stream 物件。 以下程式碼片段示範其運作方式。

:path=/static-assets/barcode/content-code-examples/how-to/ExportBarcodeAsPdfStream.cs
using IronBarCode;
using System.IO;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix);
Stream myBarcodeStream = myBarcode.ToPdfStream();
Imports IronBarCode
Imports System.IO

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.DataMatrix)
Private myBarcodeStream As Stream = myBarcode.ToPdfStream()
$vbLabelText   $csharpLabel

若需進行進階流式操作或使用其他匯出格式,請參閱我們關於將BarCode匯出為流的詳細指南。

如何正確處理記憶體串流?

正確的流處理對於防止記憶體洩漏及確保資源高效利用至關重要。 以下是一個展示最佳實踐的完整範例:

using IronBarCode;
using System.IO;

public void ProcessBarcodeStream()
{
    // Always use using statements for proper disposal
    using (Stream pdfStream = BarcodeWriter.CreateBarcode("STREAM-123", BarcodeEncoding.Code39).ToPdfStream())
    {
        // Example 1: Copy to file
        using (FileStream fileStream = File.Create("output.pdf"))
        {
            pdfStream.CopyTo(fileStream);
        }

        // Reset stream position for reuse
        pdfStream.Position = 0;

        // Example 2: Read into buffer
        byte[] buffer = new byte[pdfStream.Length];
        pdfStream.Read(buffer, 0, buffer.Length);

        // Example 3: Process with another library
        // ProcessPdfStream(pdfStream);
    }
}
using IronBarCode;
using System.IO;

public void ProcessBarcodeStream()
{
    // Always use using statements for proper disposal
    using (Stream pdfStream = BarcodeWriter.CreateBarcode("STREAM-123", BarcodeEncoding.Code39).ToPdfStream())
    {
        // Example 1: Copy to file
        using (FileStream fileStream = File.Create("output.pdf"))
        {
            pdfStream.CopyTo(fileStream);
        }

        // Reset stream position for reuse
        pdfStream.Position = 0;

        // Example 2: Read into buffer
        byte[] buffer = new byte[pdfStream.Length];
        pdfStream.Read(buffer, 0, buffer.Length);

        // Example 3: Process with another library
        // ProcessPdfStream(pdfStream);
    }
}
Imports IronBarCode
Imports System.IO

Public Sub ProcessBarcodeStream()
    ' Always use using statements for proper disposal
    Using pdfStream As Stream = BarcodeWriter.CreateBarcode("STREAM-123", BarcodeEncoding.Code39).ToPdfStream()
        ' Example 1: Copy to file
        Using fileStream As FileStream = File.Create("output.pdf")
            pdfStream.CopyTo(fileStream)
        End Using

        ' Reset stream position for reuse
        pdfStream.Position = 0

        ' Example 2: Read into buffer
        Dim buffer As Byte() = New Byte(pdfStream.Length - 1) {}
        pdfStream.Read(buffer, 0, buffer.Length)

        ' Example 3: Process with another library
        ' ProcessPdfStream(pdfStream)
    End Using
End Sub
$vbLabelText   $csharpLabel

何時應選擇流(Streams)而非二進位資料?

在以下情況下選擇流:

  • 預期接收串流輸入的其他函式庫進行整合
  • 處理大型檔案,且無法將完整內容載入記憶體的情況
  • 在網頁應用程式中實作串流回應
  • 串接其他基於流的 API 操作
  • 需支援緩衝讀寫以進行效能優化

請在以下情況選擇二進位資料:

  • 需支援將資料儲存於變數或資料庫中
  • 無需複雜處理即可快速序列化
  • 處理預期接收位元組陣列的 API

如需更多BarCode生成技術與最佳實務,請參閱我們的完整BarCode教學指南。 您亦可瞭解如何在現有 PDF 上加蓋 BARCODE,以因應更進階的 PDF 處理情境。

常見問題

如何在 C# 中將 BarCode 匯出為 PDF?

IronBarcode 提供三種將 BARCODE 匯出為 PDF 的方法:使用 SaveAsPdf() 直接儲存至檔案、透過 ToPdfBinaryData() 轉換為二進位資料,或串流至記憶體。最簡單的做法是先使用 BarcodeWriter.CreateBarcode(),再搭配您偏好的匯出方法。

我能否僅用一行程式碼就生成 PDF BARCODE?

是的,IronBarcode 支援單行 PDF 條碼生成。只需使用:var pdfBytes = IronBarCode.BarCodeWriter.CreateBarCode("FastPDF", IronBarCode.BarCodeWriterEncoding.Co/de128).ToPdfBinaryData(); 即可立即生成可直接用於 PDF 的條碼。

將 BARCODE 儲存為 PDF 檔案時,有哪些檔案路徑選項可用?

IronBarcode 支援多種靈活的檔案路徑選項,包括絕對路徑、相對路徑及環境變數。您可以使用 SaveAsPdf() 並指定路徑,例如「barcode.pdf」代表當前目錄、「C:\BarcodeExports\product_barcode.pdf」代表絕對路徑,或透過 Path.Com/bine() 結合 Environment.SpecialFolder 來指定系統路徑。

何時應將 BarCode 直接儲存至 PDF 檔案,而非使用資料流?

using IronBarcode 的 SaveAsPdf() 方法直接儲存為 PDF 檔案,是生成實體文件、製作可列印標籤或將條碼歸檔以供長期儲存的理想選擇。此方法對於需要一致 PDF 渲染效果的庫存管理系統、運送標籤及文件工作流程特別有用。

如何將 BarCode 資料轉換為 PDF 二進位資料?

using IronBarcode 的 ToPdfBinaryData() 方法將 BarCode 轉換為二進位資料。首先透過 BarcodeWriter.CreateBarcode() 建立 GeneratedBarcode 物件,接著呼叫 ToPdfBinaryData(),即可將 PDF 轉為適合資料庫儲存或網路傳輸的位元組陣列。

能否將BarCode直接串流至記憶體,而非儲存至磁碟?

是的,IronBarcode 支援將 BarCode 串流至記憶體,讓您無需建立實體檔案即可處理 PDF 資料。這對於需要動態提供 PDF BarCode 且無需進行磁碟 I/O 操作的網頁應用程式或 API 而言,是絕佳的解決方案。

IronBarcode是否提供自定義條碼外觀的支持?

是的,IronBarcode提供了廣泛的條碼外觀自定義選項,包括顏色、大小和文字註釋,讓您可以根據具體設計需求定制條碼。

IronBarcode如何幫助改善業務流程效率?

IronBarcode通過使條碼生成和讀取快速且準確來提高業務流程效率,減少手動數據輸入錯誤,並改善庫存和資產追蹤。

將IronBarcode實現於專案中需要什麼程式設計技能?

基本的C#程式設計知識足以將IronBarcode實現於專案中,因為它提供了簡單的方法和全面的文檔來指導開發者。

IronBarcode適合於小型專案和大型企業應用嗎?

IronBarcode設計為可擴展且多功能,使其適合小型專案和需要強大條碼解決方案的大型企業應用。

Hairil Hasyimi Bin Omar
軟體工程師
如同所有傑出的工程師,Hairil 是一位熱衷學習的人。他正不斷精進自己在 C#、Python 和 Java 方面的知識,並運用這些知識為 Iron Software 的團隊成員創造價值。Hairil 從馬來西亞馬拉科技大學(Universiti Teknologi MARA)加入 Iron Software 團隊,他在該校取得化學與製程工程學士學位。
準備好開始了嗎?
Nuget 下載 2,240,258 | 版本: 2026.5 just released
Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package BarCode
執行範例 看您的字串變成 BarCode。