跳過到頁腳內容
使用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";
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$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"));
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

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

結論

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

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

常見問題解答

什麼是 Xamarin BarCode 生成器?

Xamarin 條碼產生器是一款工具,可讓開發人員使用 IronBarcode 在 Xamarin 應用程式中建立條碼和 QR 代碼。

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

IronBarcode 透過提供全面的 .NET 條碼函式庫,簡化 Xamarin 中條碼的產生,開發人員只需使用幾行 C# 程式碼即可建立條碼和 QR 代碼,省去特定平台的實作。

使用 IronBarcode 可以同時為 Android 和 iOS 生成條碼嗎?

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

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

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

IronBarcode 適用於企業級應用程式嗎?

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

在 Xamarin 中使用 IronBarcode 是否需要豐富的編碼知識?

不,您不需要廣泛的編碼知識。IronBarcode 只需幾行 C# 代碼即可讓您生成條碼和 QR 代碼。

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

IronBarcode 透過提供可在所有 Xamarin 支援平台上運作的統一 .NET 函式庫,消除了特定平台條碼實作的需求。

IronBarcode 可以用在原生的 Xamarin 項目中嗎?

是的,IronBarcode 可在 Xamarin 表單和本機 Xamarin 專案中使用,以產生條碼和 QR 代碼。

IronBarcode 是否支持条码的自定义样式?

IronBarcode 提供了自訂 BarCode 外觀和佈局的選項,讓開發人員可以依應用程式的設計量身打造。

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

是的,IronBarcode 可以很容易地集成到現有的 Xamarin 項目中,提供條碼生成功能,而無需大量的重構。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。