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

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

海里海西米·賓·奧馬

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

IronBarcode 透過允許各種物件類型作為輸入,簡化了條碼寫入的過程。 BarcodeWriter.CreateBarcode() method, eliminating the need for type casting. 這降低了代碼複雜性並提高了生產力。


開始使用 IronBarcode

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

第一步:
green arrow pointer

從字符串創建條碼

IronBarcode 輕鬆接受 System.String 作為參數中的數據 BarcodeWriter.CreateBarcode(). 這涵蓋了各種數據類型,如文本、網址、ID 和數字。 將這些直接加入到方法中。 請參見下面的代碼片段:

: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#

提供的程式碼片段展示了將5個字符串示例轉換為條碼:簡單文字、網址、數字ID、字母數字ID和數字字符串。 這些字符串直接輸入到 BarcodeWriter.CreateBarcode() along with parameters for BarcodeEncoding and optional dimensions. 產生的條碼可以保存為圖像, , HTML 字串,或作PDF文檔. 以下是在 IronBarcode 中執行代碼片段後產生的條碼圖像。

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

從位元組陣列建立條碼

除了轉換外 System.String 對象轉換成條碼時,用戶經常將 IronBarcode 整合到複雜的應用程序中,使用其他對象如 System.Byte []. 要使用此物件,請確保位元組編碼與所需的保持一致。 條碼編碼. 這裡是一些字節編碼的參考例子:

  • ASCII (美國資訊交換標準碼):

    • 定義:此編碼使用 7 位元來表示每個字符,包括英文字母、數字、標點符號和控制字符。
  • 範例:字母'A'的ASCII碼是65,'B'的是66,依此類推。
  • 統一碼:

    • 定義:Unicode 是一種字符編碼標準,旨在涵蓋人類書寫系統中使用的所有字符和符號。 它為每個字符提供了一個唯一的代碼點。
  • 範例:拉丁字母“A”的Unicode代碼點是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個字符串輸入被轉換成 System.Byte []. 要將這些位元組陣列轉換為條碼,將它們包含為參數在 條碼編寫器, 以及所需的 條碼編碼. 可選擇設置 最大寬度最大高度 條碼大小。

從流中創建條碼

如果條碼 API 支援位元組陣列輸入,但不支援,则似乎不完整。 System.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#

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

Hairil related to 從流中創建條碼

海里海西米·賓·奧馬

軟體工程師

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