добавить цену к серийному произведенному штрих-коду - PullRequest
0 голосов
/ 15 мая 2018

Я создал код для печати штрих-кода на принтере штрих-кодов, но сейчас пытаюсь добавить к печати цену для продукта, который находится в текстовом поле

вот мой код

        private void frmAddProduct_Load(object sender, EventArgs e)
        {
            string barcode = txtCode.Text;

            Bitmap bitm = new Bitmap(barcode.Length * 40, 110);

            using (Graphics graphic = Graphics.FromImage(bitm))
            {


                Font newfont = new Font("IDAutomationHC39M", 14);
                PointF point = new PointF(2f, 2f);
                SolidBrush black = new SolidBrush(Color.Black);
                SolidBrush white = new SolidBrush(Color.White);
                graphic.FillRectangle(white, 0, 0, bitm.Width, bitm.Height);
                graphic.DrawString("*" + barcode + "*", newfont, black, point);


            }

            using (MemoryStream Mmst = new MemoryStream())
            {


                bitm.Save("ms", ImageFormat.Jpeg);
                pictureBox1.Image = bitm;
                pictureBox1.Width = bitm.Width;
                pictureBox1.Height = bitm.Height;


            }  
        }

        private void btnCodePrint_Click(object sender, EventArgs e)
        {
            short numCopies = 0;
            numCopies = Convert.ToInt16(txtCodeNo.Text);

            PrintDialog pd = new PrintDialog();

            pd.PrinterSettings = new PrinterSettings();

            if (DialogResult.OK == pd.ShowDialog(this))
            {

                PrintDocument pdoc = new PrintDocument();

                pdoc.PrintPage += new PrintPageEventHandler(pqr);
                pdoc.PrinterSettings.Copies = numCopies;

                pdoc.Print();

            }
        }

enter image description here

это проблема, с которой я сталкиваюсь в настоящее время. Я хочу добавить цену из текстового поля в штрих-код выше или под штрих-кодом на прилагаемом изображении, но я не могу найти способ заставить это работать, все, что я попробуйте сделать штрих-код не работает

EDIT

Я попробовал это, но показал цену выше штрих-кода

string barcode = txtCode.Text;
            string price = txtPprice.Text;
            Bitmap bitm = new Bitmap(barcode.Length * 40, 110);

            using (Graphics graphic = Graphics.FromImage(bitm))
            {


                Font newfont = new Font("IDAutomationHC39M", 14);
                Font newfont2 = new Font("Arial", 14);
                PointF point = new PointF(2f, 2f);
                SolidBrush black = new SolidBrush(Color.Black);
                SolidBrush white = new SolidBrush(Color.White);
                graphic.FillRectangle(white, 0, 0, bitm.Width, bitm.Height);
                graphic.DrawString("*" + price + "*", newfont2, black, point);
                graphic.DrawString("*" + barcode + "*", newfont, black, point);

1 Ответ

0 голосов
/ 15 мая 2018

Это ваша проблема, point на самом деле точка, где вы рисуете штрих-код, и вы также используете его, чтобы нарисовать свою цену.Вам нужно будет создать новую точку, то есть другую координату

...
// a new point for your price
PointF pointPrice = new PointF(20f, 20f);
// Draw your price
graphic.DrawString("*" + price + "*", newfont2, black, pointPrice);
// Draw your barcode
graphic.DrawString("*" + barcode + "*", newfont, black, point);

Просто поиграйте со значениями pointPrice, чтобы определить желаемую позицию размещения

Удачи

...