Example #1
0
        //Character Control Commands

        //use this mode to cancel another mode.
        public bool normalModeText(string szPrinterName)
        {
            int[] normal = { 27, 33, 0 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(normal));

            return(true);
        }
Example #2
0
        //*************************** barcode  commands **********************************

        //GS h n - sets bar the height of bar code to n dots.
        public bool barcode_height(string szPrinterName, int range = 162) // default = 162
        {
            //range 1 ≤ n ≤ 255
            int[] height = { 29, 104, range };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(height));
            return(true);
        }
Example #3
0
 // GS w n Set bar code width
 public bool barcode_width(string szPrinterName, int range = 3)
 {
     //range = 2 ≤ n ≤ 6
     int[] width = { 29, 119, range };
     ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(width));
     return(true);
 }
Example #4
0
        //Double-height selected.
        public bool doubleHeightText(string szPrinterName)
        {
            int[] height = { 27, 33, 16 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(height));

            return(true);
        }
Example #5
0
        //Character font B (9 × 17) selected.
        public bool charFontBText(String szPrinterName)
        {
            int[] fontB = { 27, 33, 1 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(fontB));


            return(true);
        }
Example #6
0
        //execute test print
        public bool testPrint(String szPrinterName)
        {
            //function GS ( A pL pH n m

            int[] test = { 29, 40, 65, 2, 0, 0, 2 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(test));

            return(true);
        }
Example #7
0
        //activate printer buzzer
        public bool buzzer(String szPrinterName)
        {
            //hex data = "1b 28 41 05 00 61 64 03 0a 0a";
            int[] buzzer = { 27, 40, 65, 5, 0, 97, 100, 3, 10, 10 };

            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(buzzer));
            // ElginI9.SendASCiiToPrinter(szPrinterName, data);
            return(true);
        }
Example #8
0
        //GS f n Select a font for the HRI characters when printing a bar code.
        public bool barcodeHRI_chars(string szPrinterName, int font_code = 0)
        { //default 0
            //[Range] n = 0, 1, 48, 49
            int[] hri = { 29, 102, font_code };


            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(hri));
            return(true);
        }
Example #9
0
        //GS H n Select print position of HRI characters
        public bool barcodeHRIPostion(string szPrinterName, int position_code = 1)
        { //default = 0
          //[Range] 0 ≤ n ≤ 3, 48 ≤ n ≤ 51

            int[] print_position = { 29, 72, position_code };

            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(print_position));
            return(true);
        }
Example #10
0
        //Select cut mode and cut paper
        public bool CutPaper(String szPrinterName)
        {
            //hex 1D 56 m, m =0,1,48,49

            int[] cut = { 29, 86, 0 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(cut));

            return(true);
        }
Example #11
0
        //GS k Print barcode
        //<Function A>
        public bool printBarcode(string szPrinterName, string data, int type = 2)
        { //for this example 2 = JAN/EAN13
            int[] barcode = { 29, 107, type };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(barcode));

            ElginI9.SendStringToPrinter(szPrinterName, data);
            int[] nul = { 0 }; // null char at the end.
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(nul));
            return(true);
        }
Example #12
0
 //print and Line feed
 public bool lineFeed(String szPrinterName, int numLines)
 {
     // fucntion LF
     int[] lf = { 10 };
     for (int i = 1; i <= numLines; i++)
     {
         ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(lf));
     }
     return(true);
 }
Example #13
0
        //GS k Print Barcode
        // <Function B>
        public bool printBarcodeB(String szPrinterName, string data, int type = 73)
        {                                //for this example 73 = CODE128
            int size = (int)data.Length; //  the number of bytes of bar code data

            int[] barcode = { 29, 107, type, size };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(barcode));
            ElginI9.SendStringToPrinter(szPrinterName, data);


            return(true);
        }
Example #14
0
        //Generate pulse in Real Time
        public bool drawerKick(String szPrinterName)
        {
            // function DLE DC4 fn m t (fn=1)


            int[] pulse = { 27, 112, 0, 100, 200 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(pulse));


            return(true);
        }
Example #15
0
        // Print Position Commands
        //ESC a n
        public bool SelectJustification(string szPrinterName, int justification_code)
        {
            //0= default
            //48 left
            //1,49 centering
            //2,50 right

            int[] align = { 27, 97, justification_code };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(align));

            return(true);
        }
Example #16
0
        //Select an international character set
        public bool charSet(String szPrinterName, int language)
        {
            //function ESC R n
            //0-USA
            //12-Latin America
            //
            int[] char_set = { 27, 82, language };

            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(char_set));

            return(true);
        }
Example #17
0
        //select character code table
        public bool codeTable(String szPrinterName, int language)
        {
            //function Esc t n
            // 0 - PC437 (USA: Standard Europe)]
            // 40 [ISO8859-15 (Latin9)]
            // 3 [PC860 (Portuguese)]

            int[] code = { 27, 116, language };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(code));


            return(true);
        }
Example #18
0
        //print text

        public bool printText(String szPrinterName, String data)
        {
            //for more character sets: http://www.ascii-codes.com/

            //for another charsets:
            //Encoding ascii = Encoding.GetEncoding("ascii");
            //Encoding windows = Encoding.GetEncoding("Windows-1252");

            //you must use this encoding  for  brazilian portuguese special characters: ^,~,ç,á...
            Encoding brazilian = Encoding.GetEncoding("IBM860");

            byte[] byteData = brazilian.GetBytes(data);

            ElginI9.SendBytesToPrinter(szPrinterName, byteData);



            return(true);
        }
Example #19
0
 //Double-width selected.
 public bool DoubleWidthText(string szPrinterName)
 {
     int[] width = { 27, 33, 32 };
     ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(width));
     return(true);
 }
Example #20
0
        //*************************** barcode  commands **********************************



        //function to print Qrcode
        public bool printQrcode(String Strdata, String szPrinterName)
        {
            int length = Strdata.Length + 3; //  string size  + 3
                                             //int length = Strdata.Length;
            byte length_low_byte = 0, length_high_byte = 0;

            length_low_byte  = (byte)(length & 0xff);        //low byte used in function 180
            length_high_byte = (byte)((length >> 8) & 0xff); //high byte in function 180


            //if you don't want to use shift operator:
            //int length_low_byte = length % 256;
            //int length_high_byte = length / 256;


            initializePrinter(szPrinterName);

            //<Function ESC a n> Select justification
            int[] escAn = { 27, 97, 0 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(escAn));



            //<Function GS L> Set left margin
            int[] fGsl = { 29, 76, 0, 0 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(fGsl));

            //<Function 165> GS ( k p L p H cn fn n (cn = 49,fn = 65)  QR Code: Select the model
            int[] f165 = { 29, 40, 107, 4, 0, 49, 65, 50, 0 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(f165));


            //<Function 167> GS ( k pL pH cn fn n (cn = 49, fn = 67) QR Code: Set the size of module
            int[] f167 = { 29, 40, 107, 3, 0, 49, 67, 4 }; //  size of qrcode:  1-16
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(f167));



            //<Function 169> GS ( k pL pH cn fn n (cn = 49, fn = 69) QR Code: Select the error correction level
            int[] f169 = { 29, 40, 107, 3, 0, 49, 69, 48 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(f169));


            //<Function 180> GS ( k pL pH cn fn m d1…dk (cn = 49, fn = 80) QR Code: Store the data in the symbol storage area
            //pL and pH are the low- and high-order bytes of a 16-bit integer value that specifies the length in bytes of the following data

            int[] f180 = { 29, 40, 107, length_low_byte, length_high_byte, 49, 80, 48 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(f180));



            //send string/url to printer
            //ElginI9.SendASCiiToPrinter(szPrinterName, Strdata);
            ElginI9.SendStringToPrinter(szPrinterName, Strdata);

            //<Function 181> GS ( k pL pH cn fn m (cn = 49, fn = 81) QR Code: Print the symbol data in the symbol storage area
            int[] f181 = { 29, 40, 107, 3, 0, 49, 81, 48 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(f181));

            //


            return(true);
        }
Example #21
0
 //Underline mode is turned on
 public bool UnderlineModeText(string szPrinterName)
 {
     int[] underline = { 27, 33, 128 };
     ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(underline));
     return(true);
 }
Example #22
0
        //initialize printer

        //ESC @
        public void initializePrinter(String szPrinterName)
        {
            int[] command = { 27, 64 };
            ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(command));
        }
Example #23
0
 //Emphasized mode is turned on
 public bool emphasizedModeText(string szPrinterName)
 {
     int[] mode = { 27, 33, 8 };
     ElginI9.SendBytesToPrinter(szPrinterName, intTobyte(mode));
     return(true);
 }
Example #24
0
        public void ImprimirNaoFiscal(int IdVenda, string ImpNome)
        {
            StringBuilder Cupom = new StringBuilder();

            Cupom.AppendLine("              DOCUMENTO NÃO FISCAL              ");
            try
            {
                // Busca Venda
                SqlDataReader DadosCliente = Controle.ConsultaSQL("SELECT T2.CNPJCPF,T2.PESSOA,T2.ENDERECO,T2.NUMERO,T2.BAIRRO,T2.VLRDESCONTO,T3.REFERENCIA,T3.DESCRICAO,T3.SITTRIBUTARIA,T3.ICMSISS,T1.QTDE,T1.VLRUNITARIO FROM MVVENDAITENS T1 " +
                                                                  " LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)  LEFT JOIN PRODUTOS T3 ON (T3.ID_PRODUTO=T1.ID_PRODUTO) WHERE T1.ID_VENDA=" + IdVenda.ToString());
                SqlDataReader Venda = Controle.ConsultaSQL("SELECT T2.CNPJCPF,T2.PESSOA,T2.ENDERECO,T2.NUMERO,T2.COMPLEMENTO,T2.BAIRRO,T2.VLRDESCONTO,T2.CREDITO,T3.REFERENCIA,T3.DESCRICAO,T3.SITTRIBUTARIA,T3.ICMSISS,T1.QTDE,T1.VLRUNITARIO,T1.VLRTOTAL AS TOTALITEM, T2.VLRTOTAL AS VLRVENDA,T2.VLRSUBTOTAL,T1.ID_PRODUTO,T3.NCM,T1.ID_VENDA,T3.UNIDADE FROM MVVENDAITENS T1 " +
                                                           " LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)  LEFT JOIN PRODUTOS T3 ON (T3.ID_PRODUTO=T1.ID_PRODUTO) WHERE T1.ID_VENDA=" + IdVenda.ToString());
                SqlDataReader Pag = Controle.ConsultaSQL("SELECT T1.VLRORIGINAL,T2.ID_DOCUMENTO,T2.DOCUMENTO,T2.CODECF FROM LANCFINANCEIRO T1 LEFT JOIN TIPODOCUMENTO T2 ON (T2.ID_DOCUMENTO=T1.ID_TIPODOCUMENTO)  WHERE T1.ID_VENDA=" + IdVenda.ToString());

                //Inicializando Cupom
                DadosCliente.Read();
                try
                {
                    Cupom.AppendLine("     Data:" + DateTime.Now.Date.ToShortDateString() + "   No. Venda:" + IdVenda.ToString());
                    if (DadosCliente.HasRows)
                    {
                        Cupom.AppendLine("CPF/CNPJ: " + DadosCliente["CNPJCPF"].ToString().Trim());
                        Cupom.AppendLine("Cliente.: " + Controle.Space(DadosCliente["PESSOA"].ToString().Trim(), 30));
                    }

                    decimal VlrDesconto = 0;
                    decimal VlrVenda    = 0;
                    decimal TVlrItem    = 0;
                    int     Item        = 1;
                    Cupom.AppendLine("Item  Ref    Descrição");
                    Cupom.AppendLine("  Qtde.   Und.      Vlr.Unt         Vlr.Total");
                    Cupom.AppendLine("------------------------------------------------");
                    while (Venda.Read())
                    {
                        VlrDesconto = decimal.Parse(Venda["VLRDESCONTO"].ToString()) + decimal.Parse(Venda["CREDITO"].ToString());
                        VlrVenda    = decimal.Parse(Venda["VLRVENDA"].ToString());

                        Cupom.AppendLine(Controle.Space(Item.ToString(), 4) + " " + Controle.Space(Venda["REFERENCIA"].ToString().Trim(), 7) + Controle.Space(Venda["DESCRICAO"].ToString().Trim(), 25));

                        Cupom.AppendLine(Controle.NumSpace(string.Format("{0:N0}", decimal.Parse(Venda["Qtde"].ToString())).ToString(), 6) + "    " + Controle.Space(Venda["UNIDADE"].ToString().Trim(), 3) + "    " + Controle.NumSpace(string.Format("{0:N2}", decimal.Parse(Venda["VLRUNITARIO"].ToString())).ToString(), 10) + "         " + Controle.NumSpace(string.Format("{0:N2}", decimal.Parse(Venda["TOTALITEM"].ToString())).ToString(), 10));

                        TVlrItem = decimal.Parse(Venda["VlrUnitario"].ToString()) * decimal.Parse(Venda["QTDE"].ToString());
                        Item++;
                    }
                    Cupom.AppendLine("------------------------------------------------");
                    Cupom.AppendLine("                   (+) Sub Total R$:" + Controle.NumSpace(string.Format("{0:N2}", VlrVenda + VlrDesconto).ToString(), 10));
                    Cupom.AppendLine("                   (-) Desconto  R$:" + Controle.NumSpace(string.Format("{0:N2}", VlrDesconto).ToString(), 10));
                    Cupom.AppendLine("                                    -----------");
                    Cupom.AppendLine("                   (=) Total     R$:" + Controle.NumSpace(string.Format("{0:N2}", VlrVenda).ToString(), 10));
                    Cupom.AppendLine("------------------------------------------------");
                    Cupom.AppendLine("Documento sem valor Fiscal");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    Cupom.AppendLine(" ");
                    ElginI9.SendStringToPrinter(ImpNome, Cupom.ToString());
                }
                catch
                {
                    return;
                }
            }
            catch (Exception a)
            {
            }
        }