從文字、URL、ID、數字、二進制數據及記憶體流生成條碼

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

海里海西米·賓·奧馬

IronBarcode 的靈活性使其能夠從各種數據源生成條碼,包括文字、網址、ID、數字、二進制數據和內存流。這種多功能性滿足了不同場景的需求,例如為產品識別創建條碼、網址鏈接、訪問控制的ID、跟踪的數字代碼,甚至將二進制數據或內存流轉換為可掃描的條碼。這使得 IronBarcode 成為增強各行各業數據驅動過程的強大工具。

IronBarcode 通過允許多種對象類型作為輸入,簡化了條碼編寫的過程。 BarcodeWriter.CreateBarcode() method, eliminating the need for type casting. This reduces code complexity and boosts productivity.


C# NuGet 程式庫用于

安裝與 NuGet

Install-Package BarCode
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

C# NuGet 程式庫用于

安裝與 NuGet

Install-Package BarCode
Java PDF JAR

下載 DLL

下載DLL

手動安裝到您的項目中

立即開始在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer

查看 IronBarcodeNuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變。

C# NuGet 程式庫用于 nuget.org/packages/BarCode/
Install-Package BarCode

請考慮安裝 IronBarcode DLL 直接下載並手動安裝到您的專案或GAC表單: IronBarCode.zip

手動安裝到您的項目中

下載DLL

從字串創建條碼

IronBarcode 方便地接受 System.String 作為參數中的數據 BarcodeWriter.CreateBarcode(). This covers various data types like texts, URLs, IDs, and numbers. Add these directly into the method. See code snippet below:

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

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/barcode/";
string receiptID = "2023-08-04-12345"; // Receipt ID (numeric id)
string flightID = "FLT2023NYC-LAX123456"; // Flight ID (alphanumeric id)
string number = "1234";

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/barcode/"
Private receiptID As String = "2023-08-04-12345" ' Receipt ID (numeric id)
Private flightID As String = "FLT2023NYC-LAX123456" ' Flight ID (alphanumeric id)
Private number As String = "1234"

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

提供的代碼片段展示了將五個字符串範例轉換為條碼:簡單文本、URL、數字ID、字母數字ID和數字字符串。這些字符串直接輸入到 BarcodeWriter.CreateBarcode() along with parameters for BarcodeEncoding and optional dimensions. The produced barcode can be saved as 圖像, , HTML 字串,或作 PDF文檔. 以下是執行 IronBarcode 的程式碼片段所產生的條碼圖片。

文本
網址
收據編號
航班號碼
數字

從字節數組創建條碼

除了轉換 System.String 對象轉換成條碼時,用戶經常將 IronBarcode 整合到複雜的應用程序中,使用其他對象如 系統.Byte []若要使用此物件,請確保字節編碼符合要求 條碼編碼這裡是字節編碼的參考範例: ASCII (美國資訊交換標準碼)- 定義:此編碼使用7位元來表示每個字符,包括英文字母、數字、標點符號和控制字符。

  • 範例:字母 'A' 的ASCII碼是65,'B' 是66,以此類推。 統一碼:

    • 定義:統一碼是一種字符編碼標準,旨在涵蓋人類書寫系統中使用的所有字符和符號。它為每個字符提供了一個唯一的編碼點。
  • 例子:拉丁字母 'A' 的統一碼編碼點是 U+0041,希臘字母 alpha (α) 是U+03B1。
  • UTF-8 (統一碼轉換格式 8 位元):

    • 定義:UTF-8是一種可變長度的字符編碼,可以表示所有的 Unicode 字符。它使用8位序列來編碼字符,所使用的字節數取決於字符。

    • 例子:字母'A'的UTF-8編碼與其ASCII碼點相同,為65。然而,對於ASCII範圍之外的字符,UTF-8使用多個字節。例如,歐元符號的UTF-8編碼 (€) 是序列 0xE2 0x82 0xAC。 UTF-16 (統一碼轉換格式 16位元):

    • 定義: UTF-16 是另一種可變長度的字元編碼,使用 16 位元的序列來編碼字元。它能夠表示整個 Unicode 字元集。
  • 示例: 拉丁字母 'A' 的 UTF-16 編碼是 0x0041,希臘字母 alpha 的 UTF-16 編碼是 (α) 是0x03B1.
  • UTF-32 (Unicode 轉換格式 32 位元):

    • 定義:UTF-32對每個字符使用固定的32位序列,使其簡單明瞭,但對於ASCII範圍外的字符來說可能會浪費存儲空間。

    • 範例:拉丁字母 'A' 的UTF-32編碼是 0x00000041,希臘字母alpha的UTF-32編碼 (α) 是 0x000003B1。 ISO-8859-1 (Latin-1):

    • 定義:ISO-8859-1 是一種字符編碼,擴展了 ASCII 以包含西歐語言的字符。它為每個字符使用 8 位元。

    • 例子:字母 'A' 的 ISO-8859-1 編碼仍然是 65,'B' 是 66,但它也包含像 'é' 這樣的字符 (233) 和 'ü' (252).

請注意
IronBarcode中的預設位元組編碼是ISO-8859-1。如果使用者沒有指定位元組編碼,將使用此編碼。

在繼續之前
選擇字節編碼時,請同時考慮要使用的條碼編碼,因為並非所有條碼編碼都能接受來自所有字節編碼的輸入。參考此 頁面 欲了解有關條碼編碼的更多資訊。

現在,讓我們看看示範這個的程式碼片段:

:path=/static-assets/barcode/content-code-examples/how-to/create-barcode-from-byte.cs
using IronBarCode;
using System.Text;

byte[] text = Encoding.UTF8.GetBytes("Hello, World!");
byte[] url = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
byte[] receiptID = Encoding.UTF8.GetBytes("2023-08-04-12345"); // Receipt ID (numeric id)
byte[] flightID = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456"); // Flight id (alphanumeric id)
byte[] number = Encoding.UTF8.GetBytes("1234");

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.Text

Private text() As Byte = Encoding.UTF8.GetBytes("Hello, World!")
Private url() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
Private receiptID() As Byte = Encoding.UTF8.GetBytes("2023-08-04-12345") ' Receipt ID (numeric id)
Private flightID() As Byte = Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456") ' Flight id (alphanumeric id)
Private number() As Byte = Encoding.UTF8.GetBytes("1234")

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

在給定的片段中,5個字符串輸入被轉換成 系統.Byte []要將這些位元組陣列轉換為條碼,請將它們作為參數包含在內 條碼編寫器, 以及所需的 條碼編碼。選擇性地,設置 最大寬度最大高度 條碼大小。

由串流創建條碼

若條碼 API 支援字節陣列輸入,但不支援 系統.IO.Stream 因此,IronBarcode也提供對此的支援。! 這對於使用 MemoryStreams 並希望生成條碼而不轉換輸入類型的用戶來說非常方便。以下是展示的代碼片段。

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

MemoryStream text = new MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"));
MemoryStream url = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"));
MemoryStream receiptID = new MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")); // Receipt ID (numeric id)
MemoryStream flightID = new MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")); // Flight id (alphanumeric id)
MemoryStream number = new MemoryStream(Encoding.UTF8.GetBytes("1234"));

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png");
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png");
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png");
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png");
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png");
Imports IronBarCode
Imports System.IO
Imports System.Text

Private text As New MemoryStream(Encoding.UTF8.GetBytes("Hello, World!"))
Private url As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/"))
Private receiptID As New MemoryStream(Encoding.UTF8.GetBytes("2023-08-04-12345")) ' Receipt ID (numeric id)
Private flightID As New MemoryStream(Encoding.UTF8.GetBytes("FLT2023NYC-LAX123456")) ' Flight id (alphanumeric id)
Private number As New MemoryStream(Encoding.UTF8.GetBytes("1234"))

BarcodeWriter.CreateBarcode(text, BarcodeEncoding.Aztec).SaveAsPng("text.png")
BarcodeWriter.CreateBarcode(url, BarcodeEncoding.QRCode).SaveAsPng("url.png")
BarcodeWriter.CreateBarcode(receiptID, BarcodeEncoding.Code93, 250, 67).SaveAsPng("receiptID.png")
BarcodeWriter.CreateBarcode(flightID, BarcodeEncoding.PDF417, 250, 67).SaveAsPng("flightID.png")
BarcodeWriter.CreateBarcode(number, BarcodeEncoding.Codabar, 250, 67).SaveAsPng("number.png")
VB   C#

提供的程式碼片段擴展了之前的程式碼片段。這裡,我們創建新的 記憶體流 來自早期的實例 系統.Byte [] 對象。與以前一樣,用戶可以將這些新實例輸入到 BarcodeWriter.CreateBarcode() 生成條碼จาก 記憶體流 物件。

海里海西米·賓·奧馬

軟體工程師

和所有優秀的工程師一樣,Hairil 是一位熱衷學習的人。他正在精進自己對 C#、Python 和 Java 的知識,利用這些知識為 Iron Software 團隊的成員創造價值。Hairil 從馬來西亞的馬來西亞工藝大學加入了 Iron Software 團隊,他在那裡獲得了化學和過程工程學士學位。