以Xamarin形式生成条形码

时间:2018-08-08 05:03:51

标签: xamarin.forms

我需要在我的Bar Code项目中生成一个Xamarin.Forms。我找到了扫描条形码的样本。是否有人尝试生成条形码?

1 个答案:

答案 0 :(得分:1)

使用ZXing库,您不仅可以扫描条形码,还可以生成它们。

可在以下位置找到示例仓库:https://github.com/jfversluis/Blurry-ZXingBarcodeImageView,它的创建是为了在StackOverflow上回答有关条形码模糊的另一个问题。但这也说明了如何生成条形码。

基本上,您只需将ZXing库安装到项目上,然后在页面中添加ZXingBarcodeImageView

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:BlurryZXing" x:Class="BlurryZXing.MainPage" xmlns:forms="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms" xmlns:zx="clr-namespace:ZXing.Net.Mobile.Forms;assembly=ZXing.Net.Mobile.Forms" xmlns:zxcm="clr-namespace:ZXing.Common;assembly=zxing.portable">
    <forms:ZXingBarcodeImageView 
        IsVisible="True"
        x:Name="QRCodeView"
        BarcodeFormat="QR_CODE" 
        HeightRequest="300"
        WidthRequest="300"
        BarcodeValue="-1">
        <zx:ZXingBarcodeImageView.BarcodeOptions>
            <zxcm:EncodingOptions Width="300" Height="300" />
        </zx:ZXingBarcodeImageView.BarcodeOptions>
    </forms:ZXingBarcodeImageView>
</ContentPage>

您可以指定格式和值。撰写本文时支持的格式为:UPC-A,UPC-E,EAN-8,Code 39,EAN-13,ITF,RSS-14,RSS-Expanded,QR Code,Code 93,Data Matrix,Code 128,Aztec (测试版),Codabar,PDF 417(测试版),MaxiCode。

别忘了在平台项目中初始化ZXing库,否则它将显示为空。您可以通过添加以下内容来实现:

// On iOS in your AppDelegate.cs in the FinishedLaunching method
ZXing.Net.Mobile.Forms.iOS.Platform.Init();

// On Android in the MainActivity.cs in the OnCreate method
ZXing.Net.Mobile.Forms.Android.Platform.Init();