标签打印机通过发送一串原始ASCII字符(格式化标签)进行控制。像这样:用于从.txt文件控制打印机的ASCII原始符号
string s = "\x02L\r" + "D11\r" + "ySWR\r" + "421100001100096" + date + "\r" + "421100002150096" + time + "\r" + "421100001200160" + price + "\r" + "E\r";
RawPrinterHelper.SendStringToPrinter(printerName, s);
这个硬编码变体运行良好。
现在我想把控制字符串放在.txt文件中并在运行时读取它。像这样:
string printstr;
TextReader tr = new StreamReader("print.txt");
printstr = tr.ReadLine();
tr.Close();
但是在这种情况下打印机什么都不打印。
看来,这StreamReader
添加别的东西来此字符串
(如果我把读取的字符串到MessageBox.Show(printstr);
一切正常。不过,这样一来,我们不能看到添加控制字符)。
有什么可以解决这个问题?
你是什么意思,但在这种情况下,打印机什么都不打印?你在说打印字符串的内容吗? – t0mm13b 2010-01-31 18:18:05
不可以。打印机根本不打印任何东西。它的行为就像这样,当控制字符串被格式化为错误时,所以我认为StreamReader会添加一些不可见的字符。本打印机不打印字符串的内容,但仅打印日期,时间和价格(在上例中)。其余的只是符号,格式化标签。 – rem 2010-01-31 18:25:26
见下:) – t0mm13b 2010-01-31 18:27:39