首页 > 解决方案 > 打印 ESCPOS 图像 c#

问题描述

所以,我正在构建一个程序,通过服务发送的命令在 escpos 打印机中打印。我管理了所有内容,文本、对齐、字体大小等。现在我需要打印以八位字节流发送的图像我该怎么做?我什么都试过了

图像字符串是///////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////////////////////////////////////////////////////// /wAAAAAAAAAAAAAAAAAAAAAAAA//////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAA///////// ///wAAAAAAAAAAAAAAAAAAAAAAAA//////////wAAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA///4AAAAAAAAAAAAAAAAAAAAA// /4AAAAAAAB//wAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAAAAAAAAAAAAAAAAAAAAA//4P /////B//wAAAAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAH///8AAAAAAAAAAAAAAAAAA//4P/////B//wAH///8AAAAAAAAAAAAAAAAAA///////// B//wAH///8AAAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAAA////////B//wAH///8AAAAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAAA////////B//wAH8AAAAAAAAAAAAAAAAAAA//4AAH///B//wAH8AAAAAAAAAAAAAAAAAAAAA//4AAD///B// wAH8AAAAAGAAAAD/4AA///gA//4AAD///B//wAH8AAAAAHAAAAP/+AA///gA//4AAD///B//wAH8AAAAAAPAAAAf//AA///gA//4AAD///B// wAH8AAAAAPgAAA///gA///gA//4P////B//wAH8AAAAfgAAB/g/AAAfAAA//4P////B//wAH8AAAAfwAAD+AOAAAfAAA//4P/////B// wAH8AAAA/wAAD8AAAAfAAA//4P/////B//wAH//+AAA/4AAH4AAAAfAAA//4P/////B//wAH//+AAB/4AAHwAAAAfAAA//4AP////B//wAH //+AAB98AAPwAAAAafAAA//4AH////B//wAH//+AAD58AAPwAAAAafAAA//4AH////B//wAH//+AAD5+AAPwAAAAafAAA//4AH////B//wAH8AAAAHw+AAPgAAAAAAAfAAA/ /4AH////B//wAH8AAAAHw/AAPwAAAAAAfAAA//4AP////B//wAH8AAAAPgfAAPwAAAAafAAA//4P/////B//wAH8AAAAPgfAAPwAAAAAfAAA//4P/////B//wAH8AAAAf//gAH4AAAAafAAA //4P/////B//wAH8AAAAf//gAH4AAAAAAfAAA//4P/////B//wAH8AAAA///wAH8AAAAafAAA//4P/////B//wAH8AAAA///wAD+AOAAAfAAA/ /4P/////B//wAH8AAAB///4AB/w/AAAfAAA//4P/////B//wAH8AAAB8AD4AA///gAAfAAA//4P/////B//wAH8AAAD8AB8AAf//AAAfAAA//4P/////B//wAH8AAAD4AB8AAP/+AAAfAAA// 4P/////B//wAH4AAAAD4AA+AAD/4AAAfAAA////////B//wAAAAAAAAAAAAAAAAAAAAAAAA/////////B//wAAAAAAAAAAAAAAAAAAAAAA////////B //wAAAAAAAAAAAAAAAAAAAAAAAAA/////////B//wAAAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAAAAA//wAAAAAAAAAAAAAAAA//4AAAAAAAAAAAAA//wAAAAAAAAAAAAAAAAAA//4AAAAAAAAAA//wAAAAAAAAAAAAAAAAAAAAA///AAAAAAAAAAAAAAAAAAA/// ///////wAAAAAAAAAAAAAAAAAAAAAAAA//////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAA// /////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAAAAAAAAAAA ///////////wAAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAAA///////////wAAAAAAAAAAAA啊啊啊啊啊

I was trying this
 oby = new List<byte>();
            oby.Add(Convert.ToByte(0x1B));
            oby.Add(Convert.ToByte(0x2A));
            oby.Add(Convert.ToByte(33));
            Bytes = PrintExtensions.AddBytes(Bytes, oby.ToArray());
            Bytes = PrintExtensions.AddBytes(Bytes, System.Text.Encoding.ASCII.GetBytes("////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAAAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAAAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAAAAAAAAAAAAAAAAAAAAAAA//4P/////B//wAH///8AAAAAAAAAAAAAAAAA//4P/////B//wAH///8AAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAA/////////B//wAH///8AAAAAAAAAAAAAAAAA/////////B//wAH8AAAAAAAAAAAAAAAAAAAA//4AAH///B//wAH8AAAAAAAAAAAEAAAAAAAA//4AAD///B//wAH8AAAAAGAAAAD/4AA///gA//4AAD///B//wAH8AAAAAHAAAAP/+AA///gA//4AAD///B//wAH8AAAAAPAAAAf//AA///gA//4AAD///B//wAH8AAAAAPgAAA///gA///gA//4P/////B//wAH8AAAAAfgAAB/g/AAAfAAA//4P/////B//wAH8AAAAAfwAAD+AOAAAfAAA//4P/////B//wAH8AAAAA/wAAD8AAAAAfAAA//4P/////B//wAH//+AAA/4AAH4AAAAAfAAA//4P/////B//wAH//+AAB/4AAHwAAAAAfAAA//4AP////B//wAH//+AAB98AAPwAAAAAfAAA//4AH////B//wAH//+AAD58AAPwAAAAAfAAA//4AH////B//wAH//+AAD5+AAPwAAAAAfAAA//4AH////B//wAH8AAAAHw+AAPgAAAAAfAAA//4AH////B//wAH8AAAAHw/AAPwAAAAAfAAA//4AP////B//wAH8AAAAPgfAAPwAAAAAfAAA//4P/////B//wAH8AAAAPgfAAPwAAAAAfAAA//4P/////B//wAH8AAAAf//gAH4AAAAAfAAA//4P/////B//wAH8AAAAf//gAH4AAAAAfAAA//4P/////B//wAH8AAAA///wAH8AAAAAfAAA//4P/////B//wAH8AAAA///wAD+AOAAAfAAA//4P/////B//wAH8AAAB///4AB/w/AAAfAAA//4P/////B//wAH8AAAB8AD4AA///gAAfAAA//4P/////B//wAH8AAAD8AB8AAf//AAAfAAA//4P/////B//wAH8AAAD4AB8AAP/+AAAfAAA//4P/////B//wAH4AAAD4AA+AAD/4AAAfAAA/////////B//wAAAAAAAAAAAAAAPAAAAAAAA/////////B//wAAAAAAAAAAAAAAAAAAAAAAA/////////B//wAAAAAAAAAAAAAAAAAAAAAAA/////////B//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA//4AAAAAAB//wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA////////////wAAAAAAAAAAAAAAAAAAAAAAA"));

不起作用 :D 我尝试了更多,但我认为它不适合这个 textarea :D

标签: c#imageescpos

解决方案


您必须在 2 字节oby.Add (Convert.ToByte (33));和图像数据之间指定位图的宽度。

请参考以下内容。
对应的页面是日文的。
ESC键 *

ESC * m nL nH d1 ... dk

例如,假设变量 ImageWidth 包含宽度值,则变为如下。

oby.Add(Convert.ToByte(0x1B));
oby.Add(Convert.ToByte(0x2A));
oby.Add(Convert.ToByte(33));
oby.Add(Convert.ToByte(ImageWidth & 0xFF));
oby.Add(Convert.ToByte((ImageWidth & 0xFF00)>>8));
Bytes = PrintExtensions.AddBytes(Bytes, oby.ToArray());

推荐阅读