Как распечатать штрих-код и вырезать страницу с помощью команды ESC / POS на принтере EPSON?

Есть 2 проблемы, с которыми я сталкиваюсь при использовании команды POS

Для команды POS я использую dll, загруженную с Nuget: PrinterUtility

PrinterUtility.EscPosEpsonCommands.EscPosEpson

1) Штрих-код не печатает буквенно-цифровые символы в этом,

PrinterUtility.EscPosEpsonCommands.EscPosEpson obj = new PrinterUtility.EscPosEpsonCommands.EscPosEpson();

var ByteValue = PrintExtensions.AddBytes(ByteValue,obj.BarCode.Code128("454541234"));

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

public byte[] BarcodeGenrate(string BarcodeNO)
        {
            string GS = "\u001D";
            string ESC = Convert.ToString((char)27);
            string COMMAND = "";
            COMMAND = GS + "h" + 50;//Set barcode height
            COMMAND += GS + "H" + 2; //Select print position of HRI characters: 
            COMMAND += GS + "f" + 1; //Select font for HRI characters:
            COMMAND += GS + "k" + 4 + BarcodeNO + 0; //Print barcode: (A) format, barcode system = CODE39
            var result = System.Text.Encoding.Unicode.GetBytes(COMMAND);
            return result;

        }

2) Вырезать страницу: тоже не работает

 public byte[] CutPage()
        {
            string GS = Convert.ToString((char)29);
            string ESC = Convert.ToString((char)27);
            string COMMAND = "";
            COMMAND = ESC + "@";
            COMMAND = GS + "V" + (char)1;
            var result = System.Text.Encoding.Unicode.GetBytes(COMMAND);
            return result;

        }

Пожалуйста, помогите мне с помощью команды ESC / POS для создания штрих-кода Code128 и команды CutPage


person Manish Goswami    schedule 06.10.2017    source источник


Ответы (2)


Одно из решений было бы таким, как показано ниже:

private byte[] CutPage() {
    List<byte> oby = new List<byte>();
    oby.Add(Convert.ToByte(Convert.ToChar(0X1D)));
    oby.Add(Convert.ToByte('V') 
    oby.Add((byte)66);
    oby.Add((byte)3);

    return oby.ToArray();
}
person Ing Israel Burgos    schedule 07.08.2018

person    schedule
comment
Я сомневаюсь, что это помогает или вообще работает. Чтобы убедить меня в обратном, пожалуйста, объясните, как это работает и почему должно помочь. - person Yunnosch; 14.06.2020
comment
Ответы, состоящие только из кода, в конечном итоге оказываются менее полезными. См. Как написать хороший ответ? для получения дополнительной информации. - person Klaus Gütter; 14.06.2020