Ejemplo n.º 1
0
        public override void SetFont(ThermalFontsEnum font)
        {
            if (font == ThermalFontsEnum.NOP)
            {
                return;
            }

            switch (font)
            {
            case ThermalFontsEnum.A:
                internalSend(FontACmd);
                break;

            case ThermalFontsEnum.B:
                internalSend(FontBCmd);
                break;

            case ThermalFontsEnum.C:
                internalSend(FontCCmd);
                break;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///   <para>Imprime um texto utilizando as formatações abaixo:</para>
        ///   <para>{FT:N} - Tipo de fonte N=A, B ou C    <br />{EX} - Fonte expandida    <br />{CE} - Centralizado   <br /> {AD} - Alinhado a direita    <br />{AE} - Alinhado a esquerda<br />    {RE} - Reiniciar parametros  <br />{FE:N} - Feed N = quantidade de linhas   <br />{BP} - Beep (Não implementado)</para>
        ///   <para>{CO} - Cortar papel parcial</para>
        /// </summary>
        /// <param name="texto">Texo a ser impresso (Cada linha deve conter um comando Enviroment.NewLine)</param>
        public void PrintGenericFormat(string texto)
        {
            RemoveAccentuation(ref texto);

            ThermalFontsEnum fonteAtual = ThermalFontsEnum.A;

            foreach (var linha in texto.Split(Environment.NewLine.ToCharArray()))
            {
                switch (linha.Trim())
                {
                case "{EX}":     //Expandido
                    SetScalars(FontWidthScalarEnum.w2, FontHeighScalarEnum.h1);
                    break;

                case "{CE}":     //Centralizado
                    SetAlignment(FontAlignment.Center);
                    break;

                case "{AE}":     //Alinhamento esquerda
                    SetAlignment(FontAlignment.Left);
                    break;

                case "{AD}":     //alinhamento direita
                    SetAlignment(FontAlignment.Right);
                    break;

                case "{RE}":     //Reiniciar configuração
                    Reinitialize();
                    SetFont(fonteAtual);
                    break;

                case "{RV}":     //Reverso
                    Reverse();
                    break;

                case "{BP}":     //Beep
                    //Beep
                    break;

                case "{CO}":     //Cortar
                    Cut(CutModeEnum.Parcial);
                    break;

                default:
                    if (linha.Contains("{FE:"))
                    {
                        int feed;

                        if (int.TryParse(linha.Split(':').ToString(), out feed))
                        {
                            FormFeed(feed);
                        }
                        else
                        {
                            FormFeed();
                        }

                        break;
                    }

                    if (linha.Contains("{FT:"))
                    {
                        if (linha.Split(':')[0].Equals("A"))
                        {
                            SetFont(ThermalFontsEnum.A); fonteAtual = ThermalFontsEnum.A;
                        }

                        if (linha.Split(':')[1][0].ToString().Equals("B"))
                        {
                            SetFont(ThermalFontsEnum.B); fonteAtual = ThermalFontsEnum.B;
                        }

                        if (linha.Split(':')[0].Equals("C"))
                        {
                            SetFont(ThermalFontsEnum.C); fonteAtual = ThermalFontsEnum.C;
                        }

                        break;
                    }

                    if (linha.Contains("{ES:"))     //Escala
                    {
                        var regex = new Regex(@"[^\d]");

                        string n = regex.Replace(linha, "");

                        if (int.TryParse(n, out int esc))
                        {
                            switch (esc)
                            {
                            case 0:
                                SetScalars(FontWidthScalarEnum.w1, FontHeighScalarEnum.h1);
                                break;

                            case 1:
                                SetScalars(FontWidthScalarEnum.w2, FontHeighScalarEnum.h1);
                                break;

                            case 2:
                                SetScalars(FontWidthScalarEnum.w3, FontHeighScalarEnum.h2);
                                break;

                            case 3:
                                SetScalars(FontWidthScalarEnum.w4, FontHeighScalarEnum.h3);
                                break;

                            case 4:
                                SetScalars(FontWidthScalarEnum.w5, FontHeighScalarEnum.h4);
                                break;

                            default:
                                break;
                            }
                        }
                        break;
                    }

                    PrintASCIIString(linha + Environment.NewLine);

                    break;
                }
            }
        }
Ejemplo n.º 3
0
 /// <inheritdoc />
 /// <summary>
 /// Define uma fonte
 /// </summary>
 /// <param name="font">Font to use</param>
 public abstract void SetFont(ThermalFontsEnum font);