private void Imprimir_barcode_datamax()
        {
            var BL = new tb_ta_prodrolloBL();
            var BE = new tb_ta_prodrollo();
            var dt = new DataTable();
            if (rollodesde.Text.Trim().Length == 0)
            {
                MessageBox.Show("Ingrese ROLLO DESDE !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (rollohasta.Text.Trim().Length == 0)
            {
                MessageBox.Show("Ingrese ROLLO HASTA !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Convert.ToInt32(rollohasta.Text) < Convert.ToInt32(rollodesde.Text))
            {
                MessageBox.Show("ROLLO HASTA < ROLLO DESDE !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            BE.rollodesde = rollodesde.Text.PadLeft(10, '0');
            BE.rollohasta = rollohasta.Text.PadLeft(10, '0');

            dt = BL.GetAll_codbarra(EmpresaID, BE).Tables[0];

            var CRTLF = Convert.ToString(Equivalencias.Chr(13)) + Convert.ToString(Equivalencias.Chr(10));

            var X11 = Convert.ToString(Equivalencias.Chr(2)) + "qC";
            var X12 = Convert.ToString(Equivalencias.Chr(2)) + "n";
            var X13 = Convert.ToString(Equivalencias.Chr(2)) + "e";
            var X14 = Convert.ToString(Equivalencias.Chr(2)) + "c0000";
            var X15 = Convert.ToString(Equivalencias.Chr(2)) + "RN";
            var X16 = Convert.ToString(Equivalencias.Chr(2)) + "Kf0000";
            var X17 = Convert.ToString(Equivalencias.Chr(2)) + "V0";
            var X18 = Convert.ToString(Equivalencias.Chr(2)) + "M0500";
            var X19 = Convert.ToString(Equivalencias.Chr(2)) + "L";
            var X20 = "A2";
            var X21 = "D11";
            var X22 = "z";
            var X23 = "PD";
            var X24 = "SD";
            var X25 = "H01";

            var X77 = "^01";
            var X88 = "Q0001";
            var X99 = "E";

            var TW101 = "4911S000014002000280018";
            var TW102 = "4911S000014003400230020";
            var TW103 = "4911S000101003400230018";
            var TW104 = "4911S000014005000230016";
            var TW105 = "4o2203400130085";
            var TW106 = "4911S000060009900340034";
            var TW107 = "4911S000014011200230018";
            var TW108 = "4911S000014012800230018";
            var TW109 = "4911S000014014200230018";
            var TW110 = "4911S000014017100230018";
            var TW111 = "4911S000109014300230020";
            var TW112 = "4911S000014015700230018";
            var TW113 = "4911S000109015700230018";
            var TW114 = "4911S000104018000390040";
            var TW115 = "4911S000014018600230018";

            var TW201 = "4911S000014022900280018";
            var TW202 = "4911S000014024300230020";
            var TW203 = "4911S000101024300230018";
            var TW204 = "4911S000014025900230016";
            var TW205 = "4o2203400130294";
            var TW206 = "4911S000060030800340034";
            var TW207 = "4911S000014032100230018";
            var TW208 = "4911S000014033600230018";
            var TW209 = "4911S000014035100230018";
            var TW210 = "4911S000014038000230018";
            var TW211 = "4911S000109035100230020";
            var TW212 = "4911S000014036600230018";
            var TW213 = "4911S000109036600230018";
            var TW214 = "4911S000104038900390040";
            var TW215 = "4911S000014039500230018";

            var pTEXTO = string.Empty;
            var xStick = 0;
            var xComa = string.Empty;

            xStick = xStick + 1;

            foreach (DataRow fila in dt.Rows)
            {
                var xTW01 = string.Empty;
                var xTW02 = string.Empty;
                var xTW03 = string.Empty;
                var xTW04 = string.Empty;
                var xTW05 = string.Empty;
                var xTW06 = string.Empty;
                var xTW07 = string.Empty;
                var xTW08 = string.Empty;
                var xTW09 = string.Empty;
                var xTW10 = string.Empty;
                var xTW11 = string.Empty;
                var xTW12 = string.Empty;
                var xTW13 = string.Empty;
                var xTW14 = string.Empty;
                var xTW15 = string.Empty;

                xTW01 = fila["productid"].ToString() + " " + fila["etiquetaname"].ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW02 = "ART: " + fila["subgrupoartic"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                if (fila["rollolote"].ToString().Trim().Length > 0)
                {
                    xTW03 = "LOTE...: " + fila["rollolote"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                }
                else
                {
                    xTW03 = string.Empty + xComa;
                }
                if (fila["compo"].ToString().Trim().Length > 0)
                {
                    xTW04 = "COMPOS: " + fila["compo"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                }
                else
                {
                    xTW04 = string.Empty + xComa;
                }
                fila["rollostock"].ToString().Replace(".", string.Empty);
                xTW05 = fila["rollo"].ToString() + Convert.ToDecimal(fila["rollostock"].ToString().Replace(".", string.Empty)).ToString().Trim().PadLeft(5, '0') + xComa;
                xTW06 = fila["rollo"].ToString() + Convert.ToDecimal(fila["rollostock"].ToString().Replace(".", string.Empty)).ToString("00000").Trim().PadLeft(5, '0') + xComa;
                xTW07 = "PROVE: " + fila["gruponame"].ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW08 = "CLIEN: " + VariablesPublicas.EmpresaName.ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW09 = "ROLLO: " + fila["rollo"].ToString().Trim() + xComa;
                xTW10 = "ONZAJ: " + fila["titulo"].ToString().Trim() + xComa;
                xTW11 = "MED.INICI: " + Convert.ToDecimal(fila["rollomedcompra"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW12 = "COLOR: " + fila["colorname"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                xTW13 = "MED.DESPA: " + Convert.ToDecimal(fila["rolloegres"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW14 = Convert.ToDecimal(fila["rollostock"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW15 = DateTime.Today.Date.ToString().Substring(0, 10);

                switch (xStick)
                {
                    case 1:
                        pTEXTO = pTEXTO + X11 + CRTLF;
                        pTEXTO = pTEXTO + X12 + CRTLF;
                        pTEXTO = pTEXTO + X13 + CRTLF;
                        pTEXTO = pTEXTO + X14 + CRTLF;
                        pTEXTO = pTEXTO + X15 + CRTLF;
                        pTEXTO = pTEXTO + X16 + CRTLF;
                        pTEXTO = pTEXTO + X17 + CRTLF;
                        pTEXTO = pTEXTO + X18 + CRTLF;
                        pTEXTO = pTEXTO + X19 + CRTLF;
                        pTEXTO = pTEXTO + X20 + CRTLF;
                        pTEXTO = pTEXTO + X21 + CRTLF;
                        pTEXTO = pTEXTO + X22 + CRTLF;
                        pTEXTO = pTEXTO + X23 + CRTLF;
                        pTEXTO = pTEXTO + X24 + CRTLF;
                        pTEXTO = pTEXTO + X25 + CRTLF;

                        pTEXTO = pTEXTO + TW101 + xTW01 + CRTLF;
                        pTEXTO = pTEXTO + TW102 + xTW02 + CRTLF;
                        pTEXTO = pTEXTO + TW103 + xTW03 + CRTLF;
                        pTEXTO = pTEXTO + TW104 + xTW04 + CRTLF;
                        pTEXTO = pTEXTO + TW105 + xTW05 + CRTLF;
                        pTEXTO = pTEXTO + TW106 + xTW06 + CRTLF;
                        pTEXTO = pTEXTO + TW107 + xTW07 + CRTLF;
                        pTEXTO = pTEXTO + TW108 + xTW08 + CRTLF;
                        pTEXTO = pTEXTO + TW109 + xTW09 + CRTLF;
                        pTEXTO = pTEXTO + TW110 + xTW10 + CRTLF;
                        pTEXTO = pTEXTO + TW111 + xTW11 + CRTLF;
                        pTEXTO = pTEXTO + TW112 + xTW12 + CRTLF;
                        pTEXTO = pTEXTO + TW113 + xTW13 + CRTLF;
                        pTEXTO = pTEXTO + TW114 + xTW14 + CRTLF;
                        pTEXTO = pTEXTO + TW115 + xTW15 + CRTLF;
                        xStick = xStick + 1;
                        break;
                    case 2:
                        pTEXTO = pTEXTO + TW201 + xTW01 + CRTLF;
                        pTEXTO = pTEXTO + TW202 + xTW02 + CRTLF;
                        pTEXTO = pTEXTO + TW203 + xTW03 + CRTLF;
                        pTEXTO = pTEXTO + TW204 + xTW04 + CRTLF;
                        pTEXTO = pTEXTO + TW205 + xTW05 + CRTLF;
                        pTEXTO = pTEXTO + TW206 + xTW06 + CRTLF;
                        pTEXTO = pTEXTO + TW207 + xTW07 + CRTLF;
                        pTEXTO = pTEXTO + TW208 + xTW08 + CRTLF;
                        pTEXTO = pTEXTO + TW209 + xTW09 + CRTLF;
                        pTEXTO = pTEXTO + TW210 + xTW10 + CRTLF;
                        pTEXTO = pTEXTO + TW211 + xTW11 + CRTLF;
                        pTEXTO = pTEXTO + TW212 + xTW12 + CRTLF;
                        pTEXTO = pTEXTO + TW213 + xTW13 + CRTLF;
                        pTEXTO = pTEXTO + TW214 + xTW14 + CRTLF;
                        pTEXTO = pTEXTO + TW215 + xTW15 + CRTLF;

                        pTEXTO = pTEXTO + X77 + CRTLF;
                        pTEXTO = pTEXTO + X88 + CRTLF;
                        pTEXTO = pTEXTO + X99 + CRTLF;

                        xStick = 1;
                        break;
                }
            }
            if (xStick == 2)
            {
                pTEXTO = pTEXTO + X77 + CRTLF;
                pTEXTO = pTEXTO + X88 + CRTLF;
                pTEXTO = pTEXTO + X99 + CRTLF;
            }

            try
            {
                if (File.Exists(@"C:\\reportebarcode.txt"))
                {
                    File.Delete(@"C:\\reportebarcode.txt");
                }

                var escritor = new StreamWriter(@"C:\\reportebarcode.txt");
                escritor.WriteLine(pTEXTO);
                escritor.Close();

                try
                {
                    var buffer = new byte[pTEXTO.Length];
                    buffer = System.Text.Encoding.ASCII.GetBytes(pTEXTO);

                    var printer = CreateFile("LPT1:", FileAccess.Write, 0, IntPtr.Zero, FileMode.OpenOrCreate, 0, IntPtr.Zero);
                    if (!printer.IsInvalid)
                    {
                        var lpt1 = new FileStream(printer, FileAccess.ReadWrite);
                        lpt1.Write(buffer, 0, buffer.Length);
                        lpt1.Close();
                    }
                }
                catch (Exception ex)
                {
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error: " + ex.Message.ToString());
            }
        }
        private void Imprimir_barcode_zebra()
        {
            var BL = new tb_ta_prodrolloBL();
            var BE = new tb_ta_prodrollo();
            var dt = new DataTable();
            if (rollodesde.Text.Trim().Length == 0)
            {
                MessageBox.Show("Ingrese ROLLO DESDE !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            if (rollohasta.Text.Trim().Length == 0)
            {
                MessageBox.Show("Ingrese ROLLO HASTA !!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (Convert.ToInt32(rollohasta.Text) < Convert.ToInt32(rollodesde.Text))
            {
                MessageBox.Show("ROLLO HASTA < ROLLO DESDE !!!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            BE.rollodesde = rollodesde.Text.PadLeft(10, '0');
            BE.rollohasta = rollohasta.Text.PadLeft(10, '0');

            dt = BL.GetAll_codbarra(EmpresaID, BE).Tables[0];

            var CRTLF = Convert.ToString(Equivalencias.Chr(13)) + Convert.ToString(Equivalencias.Chr(10));

            var X11 = "^XA";
            var X12 = "^MCY";
            var X13 = "^XZ";
            var X14 = "^XA";
            var X15 = "^FWN^CFD,24^PW863^LH0,0";
            var X16 = "^CI0^PR2^MNY^MTT^MMT^MD0^PON^PMN^LRN";
            var X17 = "^XZ";
            var X18 = "^XA";
            var X19 = "^MCY";
            var X20 = "^XZ";
            var X21 = "^XA";
            var X22 = "^DFR:TEMP_FMT.ZPL";
            var X23 = "^LRN";

            var X44 = "^XZ";
            var X55 = "^XA";
            var X66 = "^XFR:TEMP_FMT.ZPL";
            var X77 = "^PQ1,0,1,Y";
            var X88 = "^XZ";
            var X99 = "^XA";

            var TW101 = "^A0B,28,18^FO28,43^FD";
            var TW102 = "^A0B,23,20^FO63,186^FD";
            var TW103 = "^A0B,23,18^FO62,33^FD";
            var TW104 = "^A0B,23,16^FO94,66^FD";
            var TW105 = "^BY2^FO118,43^BAB,67,N,N,N^FD";
            var TW106 = "^A0B,34,34^FO185,93^FD";
            var TW107 = "^A0B,23,18^FO220,39^FD";
            var TW108 = "^A0B,23,18^FO253,46^FD";
            var TW109 = "^A0B,23,18^FO281,240^FD";
            var TW110 = "^A0B,23,18^FO341,303^FD";
            var TW111 = "^A0B,23,20^FO283,52^FD";
            var TW112 = "^A0B,23,18^FO311,238^FD";
            var TW113 = "^A0B,23,18^FO312,56^FD";
            var TW114 = "^A0B,39,40^FO345,65^FD";
            var TW115 = "^A0B,23,18^FO371,318^FD";

            var TW201 = "^A0B,28,18^FO452,43^FD";
            var TW202 = "^A0B,23,20^FO487,186^FD";
            var TW203 = "^A0B,23,18^FO486,33^FD";
            var TW204 = "^A0B,23,16^FO518,66^FD";
            var TW205 = "^BY2^FO542,43^BAB,67,N,N,N^FD";
            var TW206 = "^A0B,34,34^FO609,93^FD";
            var TW207 = "^A0B,23,18^FO644,39^FD";
            var TW208 = "^A0B,23,18^FO676,46^FD";
            var TW209 = "^A0B,23,18^FO705,240^FD";
            var TW210 = "^A0B,23,18^FO764,303^FD";
            var TW211 = "^A0B,23,20^FO706,52^FD";
            var TW212 = "^A0B,23,18^FO735,238^FD";
            var TW213 = "^A0B,23,18^FO735,56^FD";
            var TW214 = "^A0B,39,40^FO768,65^FD";
            var TW215 = "^A0B,23,18^FO794,318^FD";

            var pTEXTO = string.Empty;
            var xStick = 0;
            var xComa = "^FS";

            xStick = xStick + 1;

            foreach (DataRow fila in dt.Rows)
            {
                var xTW01 = string.Empty;
                var xTW02 = string.Empty;
                var xTW03 = string.Empty;
                var xTW04 = string.Empty;
                var xTW05 = string.Empty;
                var xTW06 = string.Empty;
                var xTW07 = string.Empty;
                var xTW08 = string.Empty;
                var xTW09 = string.Empty;
                var xTW10 = string.Empty;
                var xTW11 = string.Empty;
                var xTW12 = string.Empty;
                var xTW13 = string.Empty;
                var xTW14 = string.Empty;
                var xTW15 = string.Empty;

                xTW01 = fila["productid"].ToString() + fila["etiquetaname"].ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW02 = "ART: " + fila["subgrupoartic"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                if (fila["rollolote"].ToString().Trim().Length > 0)
                {
                    xTW03 = "LOTE...: " + fila["rollolote"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                }
                else
                {
                    xTW03 = string.Empty + xComa;
                }
                if (fila["compo"].ToString().Trim().Length > 0)
                {
                    xTW04 = "COMPOS: " + fila["compo"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                }
                else
                {
                    xTW04 = string.Empty + xComa;
                }
                fila["rollostock"].ToString().Replace(".", string.Empty);
                xTW05 = fila["rollo"].ToString() + Convert.ToDecimal(fila["rollostock"].ToString().Replace(".", string.Empty)).ToString().Trim().PadLeft(5, '0') + xComa;
                xTW06 = fila["rollo"].ToString() + Convert.ToDecimal(fila["rollostock"].ToString().Replace(".", string.Empty)).ToString().Trim().PadLeft(5, '0') + xComa;
                xTW07 = "PROVE: " + fila["gruponame"].ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW08 = "CLIEN: " + VariablesPublicas.EmpresaName.ToString().PadRight(30, ' ').Substring(0, 30).Trim() + xComa;
                xTW09 = "ROLLO: " + fila["rollo"].ToString().Trim() + xComa;
                xTW10 = "ONZAJ: " + fila["titulo"].ToString().Trim() + xComa;
                xTW11 = "MED.INICI: " + Convert.ToDecimal(fila["rollomedcompra"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW12 = "COLOR: " + fila["colorname"].ToString().PadRight(10, ' ').Substring(0, 10).Trim() + xComa;
                xTW13 = "MED.DESPA: " + Convert.ToDecimal(fila["rolloegres"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW14 = Convert.ToDecimal(fila["rollostock"].ToString()).ToString("##0.00").Trim() + xComa;
                xTW15 = DateTime.Today.Date.ToString();

                switch (xStick)
                {
                    case 1:
                        pTEXTO = pTEXTO + X11 + CRTLF;
                        pTEXTO = pTEXTO + X12 + CRTLF;
                        pTEXTO = pTEXTO + X13 + CRTLF;
                        pTEXTO = pTEXTO + X14 + CRTLF;
                        pTEXTO = pTEXTO + X15 + CRTLF;
                        pTEXTO = pTEXTO + X16 + CRTLF;
                        pTEXTO = pTEXTO + X17 + CRTLF;
                        pTEXTO = pTEXTO + X18 + CRTLF;
                        pTEXTO = pTEXTO + X19 + CRTLF;
                        pTEXTO = pTEXTO + X20 + CRTLF;
                        pTEXTO = pTEXTO + X21 + CRTLF;
                        pTEXTO = pTEXTO + X22 + CRTLF;
                        pTEXTO = pTEXTO + X23 + CRTLF;

                        pTEXTO = pTEXTO + TW101 + xTW01 + CRTLF;
                        pTEXTO = pTEXTO + TW102 + xTW02 + CRTLF;
                        pTEXTO = pTEXTO + TW103 + xTW03 + CRTLF;
                        pTEXTO = pTEXTO + TW104 + xTW04 + CRTLF;
                        pTEXTO = pTEXTO + TW105 + xTW05 + CRTLF;
                        pTEXTO = pTEXTO + TW106 + xTW06 + CRTLF;
                        pTEXTO = pTEXTO + TW107 + xTW07 + CRTLF;
                        pTEXTO = pTEXTO + TW108 + xTW08 + CRTLF;
                        pTEXTO = pTEXTO + TW109 + xTW09 + CRTLF;
                        pTEXTO = pTEXTO + TW110 + xTW10 + CRTLF;
                        pTEXTO = pTEXTO + TW111 + xTW11 + CRTLF;
                        pTEXTO = pTEXTO + TW112 + xTW12 + CRTLF;
                        pTEXTO = pTEXTO + TW113 + xTW13 + CRTLF;
                        pTEXTO = pTEXTO + TW114 + xTW14 + CRTLF;
                        pTEXTO = pTEXTO + TW115 + xTW15 + CRTLF;
                        xStick = xStick + 1;
                        break;
                    case 2:
                        pTEXTO = pTEXTO + TW201 + xTW01 + CRTLF;
                        pTEXTO = pTEXTO + TW202 + xTW02 + CRTLF;
                        pTEXTO = pTEXTO + TW203 + xTW03 + CRTLF;
                        pTEXTO = pTEXTO + TW204 + xTW04 + CRTLF;
                        pTEXTO = pTEXTO + TW205 + xTW05 + CRTLF;
                        pTEXTO = pTEXTO + TW206 + xTW06 + CRTLF;
                        pTEXTO = pTEXTO + TW207 + xTW07 + CRTLF;
                        pTEXTO = pTEXTO + TW208 + xTW08 + CRTLF;
                        pTEXTO = pTEXTO + TW209 + xTW09 + CRTLF;
                        pTEXTO = pTEXTO + TW210 + xTW10 + CRTLF;
                        pTEXTO = pTEXTO + TW211 + xTW11 + CRTLF;
                        pTEXTO = pTEXTO + TW212 + xTW12 + CRTLF;
                        pTEXTO = pTEXTO + TW213 + xTW13 + CRTLF;
                        pTEXTO = pTEXTO + TW214 + xTW14 + CRTLF;
                        pTEXTO = pTEXTO + TW215 + xTW15 + CRTLF;

                        pTEXTO = pTEXTO + X44 + CRTLF;
                        pTEXTO = pTEXTO + X55 + CRTLF;
                        pTEXTO = pTEXTO + X66 + CRTLF;
                        pTEXTO = pTEXTO + X77 + CRTLF;
                        pTEXTO = pTEXTO + X88 + CRTLF;
                        pTEXTO = pTEXTO + X99 + CRTLF;

                        xStick = 1;
                        break;
                }
            }
            if (xStick == 2)
            {
                pTEXTO = pTEXTO + X44 + CRTLF;
                pTEXTO = pTEXTO + X55 + CRTLF;
                pTEXTO = pTEXTO + X66 + CRTLF;
                pTEXTO = pTEXTO + X77 + CRTLF;
                pTEXTO = pTEXTO + X88 + CRTLF;
                pTEXTO = pTEXTO + X99 + CRTLF;
            }

            try
            {
                try
                {
                    if (File.Exists(@"C:\\reportebarcode.txt"))
                    {
                        File.Delete(@"C:\\reportebarcode.txt");
                    }

                    var escritor = new StreamWriter(@"C:\\reportebarcode.txt");
                    escritor.WriteLine(pTEXTO);
                    escritor.Close();
                }
                catch
                {
                }
            }
            catch
            {
            }
        }