Spire.Barcode从字符串打印条形码

时间:2018-09-24 06:25:23

标签: c# barcode barcode-printing

我无法处理条形码问题。我正在从Excel中的文件中传递字符串,例如51453125312453。并且我在像这样的模型中使用Spire.Barcode

private void GenerateBarcode()
    {
        BarcodeSettings st = new Spire.Barcode.BarcodeSettings();
        st.Code128SetMode = Spire.Barcode.Code128SetMode.Auto;
        //st.Data = Ilosc.ToString("F6") + "*" + Partia;
        st.TextFont = new System.Drawing.Font("Arial", 16);
        st.ShowTopText = false;
        st.ShowTextOnBottom = true;
        st.ImageWidth = 100;
        Spire.Barcode.BarCodeGenerator bg = new Spire.Barcode.BarCodeGenerator(st);
        HeaderBarcode = bg.GenerateImage().ToString();
        //bg.GenerateImage();
    }

和我的字符串

private string headerBarcode;
    public string HeaderBarcode
    {
        get
        {
            return headerBarcode;
        }
        set
        {
            if (headerBarcode != value)
            {
                headerBarcode = value;
                GenerateBarcode();
                NotifyPropertyChanged(nameof(HeaderBarcode));
            }
        }
    }

在我的打印预览中有一个 System.Drawing.Bitmap而不是条形码。你能帮我做对吗?

1 个答案:

答案 0 :(得分:1)

您在此行中的错误:

HeaderBarcode = bg.GenerateImage().ToString();

GenerateImage()-返回位图,因此当您尝试将位图转换为字符串时,将获得类System.Drawing.Bitmap的名称。

您需要另存为图像并打开它。

bg.GenerateImage().Save("Barcode.png");
System.Diagnostics.Process.Start("Barcode.png");