我正在尝试制作一个C#程序,以使用串行命令(抱歉,必须是串行的)和ESC命令打印到Epson PLQ-30M,但是没有成功。
好吧,首先我确实使用了EPSON模式(仿真)和ESC代码,并且都工作良好,但是问题是...它不会报告打印机的问题(响应为10或13(通用错误和“就绪”),并且我需要一些报告,例如“有纸”,“封面已打开”,“打印结束”等。 导致我切换到Olivetti模式,该模式具有我所需的所有响应,并且使用ESC PR2代码可以很好地工作。
现在的主要问题是:我无法打印任何文本。知道为什么吗?
发送ASCII文本和LF命令不会打印任何内容。
我做的另一项测试是切换到USB并进行简单的记事本打印,仅当我使用Olivetti仿真时不要打印任何内容,其他仿真也可以打印。有什么线索吗?
serialport1 = new SerialPort("COM4", 9600, Parity.Even, 8, StopBits.One);
serialport1.Encoding = Encoding.GetEncoding(28605); //iso-8859-15 Latin 9 (ISO)
serialport1.DtrEnable = true;
serialport1.RtsEnable = true;
serialport1.Open();
SendEscapeCharacter("" + (char)27 + (char)48); // 1B 30(HEX) (INIT PRINTER)
SendEscapeCharacter("" + (char)27 + (char)46); // 1B 2E(Automatic operation mode)
SendEscapeCharacter("" + (char)27 + (char)81 + (char)50 + (char)50 + (char)50 + (char)27 + (char)90); // (Line unit page length setting)
serialport1.Write("testing"); // tRYING TO Print "Testing"
SendEscapeCharacter("" + (char)27 + (char)10); //LF
// READY LED IS BLINKING(orange) AND NO PRINTING!