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

Spire.Barcode printing barcode from string

我无法解决条形码问题。我在 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 而不是条形码。你能帮我改正吗?

你在这行的错误:

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

GenerateImage() - returns 位图,因此当您尝试将位图转换为字符串时,您会得到一个名称 class System.Drawing.Bitmap.

您需要另存为图片并打开。

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