如何在C#中建立條碼為PDFs

如何在C#中將條碼匯出為PDF

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

IronBarcode使C#開發者可以透過三種方法將條碼匯出為PDF:直接保存到檔案、轉換為二進位資料或流式傳輸到記憶體——所有這些都能通過簡單的單行操作來實現。

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

這個範例展示了如何簡單地在.NET中使用IronBarcode將條碼匯出為PDF。 通過一行程式碼,您可以得到一個PDF格式的條碼——理想的用於儲存、流式傳輸或快速發送。

  1. 使用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

如何將條碼匯出為PDF檔案?

為什麼要將條碼直接保存為PDF檔案?

當您需要生成實體文件、建立可列印的標籤或為長期儲存歸檔條碼時,直接將條碼保存為PDF檔案是最簡單的方法。 這種方法對於庫存管理系統、運輸標籤以及文件生成工作流程特別有用,其中PDF格式可確保不同平台和列印機上的一致呈現。

要將條碼保存為PDF檔案,首先使用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

有關更高級的條碼建立選項,請參閱我們的從不同資料來源建立條碼的綜合指南

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

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

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-as-pdf-3.cs
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將條碼匯出為PDF。 使用IronBarcode,條碼可以匯出為檔案、二進位資料或記憶流。 要完整了解IronBarcode的能力,請造訪我們的入門文件

何時應使用檔案匯出而非其他方法?

選擇檔案匯出當:

  • 您需要永久儲存條碼
  • 生成報告或可列印的文件
  • 建立用於離線處理的批次文件
  • 與基於文件的系統整合

考慮使用二進位資料或流當:

  • 使用需要即時響應的Web應用程式
  • 儲存在資料庫中
  • 通過不需文件系統存取的API發送
  • 處理記憶空間有限的環境

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

為什麼使用二進位資料而不是檔案?

二進位資料匯出適合需要在記憶中處理PDF資料而不建立臨時文件的場景。 這種方法在網頁應用、雲環境以及與資料庫工作時特別有價值。 它消除了文件I/O操作,通過將資料保留在記憶中來提高性能和安全性。

要匯出為PDF二進位資料,生成條碼,然後呼叫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

您還可以在匯出之前自訂條碼外觀。 了解更多關於自訂條碼樣式以增強您的PDF匯出。

如何將二進位PDF資料發送到API?

二進位PDF資料可以輕易地通過REST API傳輸,這使得它非常適合微服務架構。 這是一個通過HTTP請求發送條碼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條碼作為BLOB資料儲存在資料庫中
  • 電子郵件附件:將條碼附加到電子郵件中而不建立臨時文件
  • 雲端儲存:直接上傳到Azure Blob儲存或AWS S3等服務
  • 在記憶中處理:連續多個操作而不進行磁碟I/O
  • Web API回應:直接在HTTP回應中返回PDF資料

有關額外的條碼生成技術和最佳實踐,請參閱我們的從各種來源建立條碼指導。 您還可以了解在現有PDF上加蓋條碼的更多進階PDF操縱案例。

如何將條碼匯出為PDF流?

為什麼要使用流來匯出PDF?

流提供最靈活的處理PDF資料的方法,特別是在與其他.NET程式庫整合時或當需要精細控制資料流時。 在記憶效率至關重要的大規模操作中,流特別有用,因為它們允許緩衝讀取和寫入。

要匯出為記憶流,生成條碼然後呼叫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

有關進階流操作和其他匯出格式,請探索我們詳細的將條碼匯出為流指南。

如何正確處理記憶流?

正確的流處理對於防止記憶洩漏和確保高效的資源使用至關重要。 這是一個顯示最佳實踐的詳盡範例:

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

何時應選擇流而不是二進位資料?

選擇流當:

  • 與其他程式庫整合需要流輸入
  • 處理大型文件不可能將整個內容載入到記憶中
  • 在網頁應用中實現流式回應
  • 連結操作與其他基於流的API
  • 需要緩衝讀取/寫入來進行性能優化

選擇二進位資料當:

  • 簡單儲存在變數或資料庫中是所需的
  • 快速序列化而不需要複雜的處理
  • 與期待字節陣列的API合作

如需獲得更多的條碼生成技術和最佳實踐,請造訪我們的綜合條碼教程。 您還可以了解在現有PDF上加蓋條碼的更多進階PDF操縱案例。

常見問題

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

IronBarcode提供了三種方法將條碼匯出為PDF:使用SaveAsPdf()直接保存到檔案,使用ToPdfBinaryData()轉換為二進位資料,或串流到記憶體。最簡單的方法是使用BarcodeWriter.CreateBarcode()然後選擇您偏好的匯出方法。

我可以只用一行程式碼生成PDF條碼嗎?

是的,IronBarcode使一行PDF條碼生成成為可能。只需使用:var pdfBytes = IronBarCode.BarcodeWriter.CreateBarcode("FastPDF", IronBarCode.BarcodeWriterEncoding.Code128).ToPdfBinaryData();即可立即建立可用於PDF的條碼。

保存條碼為PDF檔案時可用的檔案路徑選項有哪些?

IronBarcode支持靈活的檔案路徑選項,包括絕對路徑、相對路徑和環境變數。您可以使用SaveAsPdf(),使用像"barcode.pdf"這樣的路徑保存到當前目錄,使用"C:\BarcodeExports\product_barcode.pdf"保存到絕對路徑,或使用Path.Combine()和Environment.SpecialFolder保存到系統路徑。

什麼時候我應該直接把條碼保存為PDF檔案而不是使用串流?

使用IronBarcode的SaveAsPdf()方法直接保存為PDF檔案最適合用於生成實體文件、建立可列印標籤或保存條碼以供長期儲存。這種方法特別適用於需要一致的PDF渲染的庫存管理系統、發運標籤和文件工作流程。

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

使用IronBarcode的ToPdfBinaryData()方法將條碼轉換為二進位資料。首先使用BarcodeWriter.CreateBarcode()建立一個GeneratedBarcode物件,然後調用ToPdfBinaryData()獲得適合資料庫儲存或網路傳輸的PDF位元組陣列。

我可以將條碼直接流到記憶體而不是保存到磁碟嗎?

是的,IronBarcode支持將條碼流到記憶體,讓您可以使用PDF資料而不需要建立實體檔案。這對於需要動態服務PDF條碼而無需磁碟I/O操作的網路應用程式或API而言非常合適。

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

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

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

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

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

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

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

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

Hairil Hasyimi Bin Omar
軟體工程師
和所有偉大的工程師一樣,Hairil是一位充滿熱情的學習者。他正在完善自己對C#、Python和Java的知識,並利用這些知識為Iron Software的團隊成員創造價值。Hairil從馬來西亞的瑪拉工藝大學畢業,擁有化學與流程工程學士學位,後加入Iron Software團隊。
準備好開始了嗎?
Nuget 下載 2,317,217 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速驗證嗎? PM > Install-Package BarCode
運行範例觀看您的字串成為條碼。