跳至頁尾內容
使用 IRONBARCODE

使用 IronBarcode 的 Xamarin 條碼產生器建立專業品質的條碼

在 Xamarin 應用程式中建立條碼不必複雜或耗時。 借助 IronBarcode,開發人員只需幾行 C# 程式碼即可在 Android 專案和 iOS 平台上產生專業品質的條碼和二維碼。 這個全面的 .NET 條碼庫消除了對特定於平台的實現的需求,同時提供了企業級功能,可在您的 Xamarin Forms 或原生 Xamarin 專案中在所有行動裝置上保持一致。

本文透過程式碼範例示範如何使用 IronBarcode 在跨平台行動應用程式中實現強大的條碼產生系統。 您將學習如何透過 NuGet 安裝庫,產生各種條碼格式(包括二維碼),使用顏色和註釋自訂其外觀,並將其匯出為多種文件格式。 IronBarcode 可以做到這一切,同時保持程式碼簡潔易維護,並且能夠在 Android 和 iOS 平台上無縫運行。

為什麼 Xamarin Forms 需要使用專業的條碼函式庫?

在 Xamarin.Forms 中從頭開始實現條碼產生需要處理複雜的編碼演算法、管理平台特定的渲染差異,並確保在各種條碼符號系統中都能準確輸出。 專業的 .NET 條碼庫,例如 IronBarcode,透過提供統一的 API 來消除這些挑戰,該 API 透過簡單的 C# 方法在內部處理所有技術複雜性。

IronBarcode 支援 30 多種條碼格式,包括 QR 碼、Code 128、Code 39、EAN-13、UPC-A、Data Matrix、PDF 417 和 Aztec 碼。 每種格式都針對特定使用場景進行了最佳化。 例如,二維碼擅長儲存網址和大段文字數據,EAN13 用於零售產品,而 Code128 提供高密度字母數字編碼。 此函式庫會自動計算校驗和,套用適當的糾錯級別,並確保符合 GS1 標準,以滿足商業應用需求。

IronBarcode 的跨平台特性確保無論您面向的是 Android 行動平台還是 iOS 行動平台,您的條碼產生程式碼都保持不變。 這種一致性不僅限於 Xamarin 應用程式——相同的程式碼可以在 ASP.NET應用程式、桌面軟體甚至 Docker 容器中運行,使其成為具有多樣化部署需求的企業的理想選擇。 該庫內建的影像處理功能可自動處理解析度縮放和格式轉換等常見問題。 了解更多關於IronBarcode跨平台功能的資訊

如何在 Xamarin 專案中安裝 IronBarcode?

透過 NuGet 套件管理器,只需幾分鐘即可在 Xamarin.Forms 專案中安裝 IronBarcode。 開啟包含跨平台行動專案的 Visual Studio 解決方案,並依照下列步驟與現有的 .NET 程式碼無縫整合。

首先,在解決方案資源管理器中以滑鼠右鍵按一下您的解決方案,然後選擇"管理解決方案的 NuGet 套件"。 在"瀏覽"標籤中,搜尋"IronBarCode"(注意大小寫)。 選擇 Iron Software 的官方 IronBarcode 軟體包,並將其安裝到解決方案中的所有專案中,包括共用專案和兩個特定於平台的專案。 您還可以查看完整的 NuGet 套件詳細信息,以了解版本歷史記錄和依賴項。

或者,您可以使用套件管理器控制台,透過以下命令快速安裝到您的 Xamarin 條碼產生器專案中:

Install-Package BarCode

對於 Android 應用程式項目,建立基本條碼不需要額外的權限。 但是,如果您打算將產生的掃描條碼儲存到外部存儲,請在AndroidManifest.xml檔案中新增WRITE_EXTERNAL_STORAGE權限。有關詳細的平台注意事項,請參閱Android 專屬的實作指南

對於 iOS 項目,如果您要將二維碼或條碼儲存到照片圖庫,請將 NSPhotoLibraryAddUsageDescription 鍵新增至 Info.plist 檔案中,並新增適當的描述。 iOS條碼實作文件提供了完整的設定說明。

要使用 IronBarcode 的全部功能且不含浮水印,您需要一個許可證金鑰。 您可以從 Iron Software 網站獲得免費試用許可證,該許可證可在 30 天內完全存取所有條碼生成功能。 在應用程式啟動程式碼中設定一次許可證密鑰:

IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
IronBarCode.License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
$vbLabelText   $csharpLabel

如果沒有許可證金鑰,IronBarcode 將以評估模式運行,產生的條碼上會帶有浮水印。 對於生產應用,Iron Software 提供各種授權選項,包括單一專案授權、組織級授權和專為行動應用部署量身定制的 SaaS 發行授權。

如何產生您的第一個條碼?

在 Xamarin.Forms 應用程式中使用 IronBarcode 建立您的第一個條碼只需要極少的 C# 程式碼。 以下是一個完整的範例,示範如何在您的行動應用程式中產生 Code128 條碼:

using IronBarCode;
using System.IO;
public void GenerateSimpleBarcode(object sender, EventArgs e)
{
    // Create a barcode with one line of code
    var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
    // Resize to specific dimensions
    myBarcode.ResizeTo(500, 200);
    // Add text annotations
    myBarcode.AddBarcodeValueTextBelowBarcode();
    // Save as image
    string filePath = Path.Combine(Environment.GetFolderPath(
        Environment.SpecialFolder.Personal), "barcode.png");
    myBarcode.SaveAsPng(filePath);
}
using IronBarCode;
using System.IO;
public void GenerateSimpleBarcode(object sender, EventArgs e)
{
    // Create a barcode with one line of code
    var myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com", BarcodeEncoding.Code128);
    // Resize to specific dimensions
    myBarcode.ResizeTo(500, 200);
    // Add text annotations
    myBarcode.AddBarcodeValueTextBelowBarcode();
    // Save as image
    string filePath = Path.Combine(Environment.GetFolderPath(
        Environment.SpecialFolder.Personal), "barcode.png");
    myBarcode.SaveAsPng(filePath);
}
$vbLabelText   $csharpLabel

BarcodeWriter.CreateBarcode() 方法作為 .NET 應用程式中產生條碼的主要入口點。 它接受兩個元素:要編碼的資料和來自 BarcodeEncoding 枚舉的條碼格式。 此方法傳回一個 GeneratedBarcode 對象,該物件透過流暢的 API 提供豐富的自訂選項。有關進階功能,請參閱完整的BarcodeWriter API 參考文件

ResizeTo()方法調整條碼尺寸,同時保持所選符號系統的適當縱橫比和條寬要求。 AddBarcodeValueTextBelowBarcode() 方法會在條碼下方添加人類可讀的文本,這對於 Xamarin 中的許多零售和庫存管理應用程式至關重要。

輸出

如何在 Xamarin 中使用 IronBarcode 產生條碼:圖 10 - PDF417 輸出

產生二維碼

在 Xamarin 條碼掃描器應用程式中產生二維碼的過程同樣簡單,只需使用專門的 QRCodeWriter 類別即可:

public void GenerateQRCode()
{
    // Create a QR code with custom data
    var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
    // Set error correction to high for better reliability
    qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
    // Convert to byte array for database storage
    byte[] barcodeBytes = qrCode.ToPngBinaryData();
}
public void GenerateQRCode()
{
    // Create a QR code with custom data
    var qrCode = QRCodeWriter.CreateQrCode("SKU-12345|Batch-789|Exp-2025", 500);
    // Set error correction to high for better reliability
    qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkBlue);
    // Convert to byte array for database storage
    byte[] barcodeBytes = qrCode.ToPngBinaryData();
}
$vbLabelText   $csharpLabel

QRCodeWriter.CreateQrCode()方法專門用於建立二維碼,並具有嵌入標誌和顏色自訂等附加功能。 第二個參數指定二維碼的像素大小。 ToPngBinaryData()方法將產生的二維碼轉換為位元組數組,非常適合儲存在資料庫中或在您的跨平台行動應用程式中透過網路傳輸。 查看更多二維碼產生範例,了解更進階的應用。

如何使用不同的條碼格式(EAN13、Data Matrix 等)?

IronBarcode 廣泛的格式支援可讓您產生 Xamarin.Forms 應用程式所需的精確條碼類型。 以下是如何在行動項目中使用 C# 處理各種常用條碼格式的方法:

public void GenerateMultipleFormats(string productCode)
{
    // EAN-13 for European retail
    var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
    ean13.SaveAsPng("product_ean13.png");
    // UPC-A for North American retail  
    var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
    upcA.SaveAsJpeg("product_upca.jpg");
    // DataMatrix for small items with high data density
    var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
    dataMatrix.SaveAsPdf("product_datamatrix.pdf");
    // PDF417 for driver licenses and ID cards
    var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
    pdf417.SaveAsTiff("product_pdf417.tiff");
}
public void GenerateMultipleFormats(string productCode)
{
    // EAN-13 for European retail
    var ean13 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.EAN13);
    ean13.SaveAsPng("product_ean13.png");
    // UPC-A for North American retail  
    var upcA = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.UPCA);
    upcA.SaveAsJpeg("product_upca.jpg");
    // DataMatrix for small items with high data density
    var dataMatrix = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.DataMatrix);
    dataMatrix.SaveAsPdf("product_datamatrix.pdf");
    // PDF417 for driver licenses and ID cards
    var pdf417 = BarcodeWriter.CreateBarcode(productCode, BarcodeEncoding.PDF417);
    pdf417.SaveAsTiff("product_pdf417.tiff");
}
$vbLabelText   $csharpLabel

每種條碼符號系統在行動應用上都有其特定的特性和應用場景。 EAN-13 和 UPC-A 僅需輸入數字,並自動計算校驗位,以確保零售掃描的準確性。 DataMatrix 擅長在最小的空間內編碼大量數據,使其成為追蹤電子元件和藥品的理想選擇。 PDF417 支援具有內建糾錯等級的廣泛資料存儲,常用於交通運輸和識別文件。 了解更多關於如何為您的特定應用場景選擇合適的條碼格式的資訊

輸出

如何在 Xamarin 中使用 IronBarcode 產生條碼:圖 9 - PDF417 輸出

.NET 條碼庫會自動驗證輸入資料是否符合格式要求,並對無效輸入拋出描述性例外。 此驗證可確保產生的條碼符合國際 ISO 標準,並能與零售和物流環境中使用的商用條碼閱讀器可靠地掃描。

如何自訂和匯出條碼?

IronBarcode 提供全面的自訂選項,以滿足您的 Xamarin 應用程式的視覺要求以及針對 Android 和 iOS 平台的匯出需求:

public void CustomizeAndExportBarcode()
{
    var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);
    // Styling options for mobile UI consistency
    barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
    barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
    barcode.SetMargins(10);
    // Add annotations for human readability
    barcode.AddAnnotationTextAboveBarcode("Product ID");
    barcode.AddBarcodeValueTextBelowBarcode(IronSoftware.Drawing.Font("Arial", 12));
    // Platform-specific file handling in Xamarin
    string documentsPath;
    if (Device.RuntimePlatform == Device.iOS)
    {
        documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    }
    else // Android
    {
        documentsPath = Android.OS.Environment.GetExternalStoragePublicDirectory(
            Android.OS.Environment.DirectoryDownloads).AbsolutePath;
    }
    // Export in multiple formats for versatility
    barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
    barcode.SaveAsWindowsBitmap(Path.Combine(documentsPath, "barcode.bmp"));
    barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
}
public void CustomizeAndExportBarcode()
{
    var barcode = BarcodeWriter.CreateBarcode("CUSTOM-2024", BarcodeEncoding.Code128);
    // Styling options for mobile UI consistency
    barcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Navy);
    barcode.ChangeBackgroundColor(IronSoftware.Drawing.Color.LightGray);
    barcode.SetMargins(10);
    // Add annotations for human readability
    barcode.AddAnnotationTextAboveBarcode("Product ID");
    barcode.AddBarcodeValueTextBelowBarcode(IronSoftware.Drawing.Font("Arial", 12));
    // Platform-specific file handling in Xamarin
    string documentsPath;
    if (Device.RuntimePlatform == Device.iOS)
    {
        documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    }
    else // Android
    {
        documentsPath = Android.OS.Environment.GetExternalStoragePublicDirectory(
            Android.OS.Environment.DirectoryDownloads).AbsolutePath;
    }
    // Export in multiple formats for versatility
    barcode.SaveAsPng(Path.Combine(documentsPath, "barcode.png"));
    barcode.SaveAsWindowsBitmap(Path.Combine(documentsPath, "barcode.bmp"));
    barcode.SaveAsPdf(Path.Combine(documentsPath, "barcode.pdf"));
}
$vbLabelText   $csharpLabel

樣式設定方法可讓您完全控制移動介面中條碼的外觀。 可以使用 RGB 值或預先定義的顏色常數來指定顏色,以符合應用程式的主題。 SetMargins() 方法會在條碼周圍增加邊距,防止條碼放置在邊緣附近時出現掃描問題。 探索更多條碼客製化技術,實現高級視覺效果。

跨平台 Xamarin 開發中的檔案處理需要考慮平台特定的面向。 iOS 應用程式應將檔案儲存到文件目錄或照片圖庫,而 Android 應用程式通常使用外部儲存目錄。 .NET Standard 程式庫支援所有主要影像格式,包括 PNG、JPEG、GIF、TIFF 和 BMP,以及用於文件整合的 PDF。 對於更複雜的場景,請查閱條碼匯出文件以了解更多輸出選項。

結論

IronBarcode 將 Xamarin 應用程式中的條碼產生從複雜的挑戰轉變為簡單的實作。 它全面的格式支援、跨平台一致性和廣泛的自訂選項,使其成為需要在 .NET 環境中實現可靠條碼和二維碼功能的專業行動應用程式的理想選擇。

立即使用免費試用許可證,在您的 Xamarin.Forms 或原生 Xamarin 應用程式中開始實現專業的條碼產生功能。 準備購買嗎? 查看價格並購買符合您專案需求的許可證。

常見問題解答

什麼是 Xamarin 條碼產生器?

Xamarin 條碼產生器是一款允許開發人員使用 IronBarcode 在 Xamarin 應用程式中建立條碼和二維碼的工具。

IronBarcode 如何簡化 Xamarin 中的條碼產生?

IronBarcode 透過提供全面的 .NET 條碼庫簡化了 Xamarin 中的條碼生成,使開發人員只需幾行 C# 程式碼即可建立條碼和二維碼,從而消除了特定於平台的實現。

我可以使用 IronBarcode 產生適用於 Android 和 iOS 的條碼嗎?

是的,IronBarcode 支援在 Xamarin 應用程式中為 Android 和 iOS 平台產生條碼,確保跨裝置的一致性。

在 Xamarin 中使用 IronBarcode 可以建立哪些類型的條碼?

使用 Xamarin 中的 IronBarcode,您可以建立各種條碼,包括二維碼和其他專業品質的條碼格式。

IronBarcode 是否適用於企業級應用?

是的,IronBarcode 提供企業級功能,可確保為專業應用產生高品質、可靠的條碼。

我需要具備豐富的程式設計知識才能將 IronBarcode 與 Xamarin 結合使用嗎?

不,您無需具備深厚的程式設計知識。 IronBarcode 只需幾行 C# 程式碼即可產生條碼和二維碼。

IronBarcode 如何處理特定平台的條碼實作?

IronBarcode 提供了一個統一的 .NET 程式庫,可在所有 Xamarin 支援的平台上運行,因此無需針對特定平台進行條碼實作。

IronBarcode 能否用於原生 Xamarin 專案?

是的,IronBarcode 既可以在 Xamarin Forms 中使用,也可以在原生 Xamarin 專案中使用,以產生條碼和二維碼。

IronBarcode 是否支援條碼自訂樣式?

IronBarcode 提供自訂條碼外觀和佈局的選項,讓開發人員可以根據其應用程式的設計進行客製化。

是否可以將 IronBarcode 整合到現有的 Xamarin 專案中?

是的,IronBarcode 可以輕鬆整合到現有的 Xamarin 專案中,無需進行大量重構即可提供條碼生成功能。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。