【发布时间】:2010-01-31 18:14:33
【问题描述】:
通过发送一串原始 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);,一切看起来都不错。但是,这样我们就看不到添加的控制字符)。
有什么办法可以解决这个问题?
【问题讨论】:
-
您所说的“但在这种情况下打印机什么也不打印”是什么意思?你是说打印字符串的内容吗?
-
没有。打印机根本不打印。如果控制字符串的格式有错误,它的行为就像这样,所以我假设 StreamReader 添加了一些不可见的字符。此打印机不打印字符串的内容,而仅打印(在上面的示例中)日期、时间和价格。其余的只是符号,格式化标签。
-
在下面查看我编辑的答案:)
-
您的问题帮助我弄清楚如何将打印作业发送到我的 Datamax 标签打印机
-
@seabass2020 很高兴它有帮助!是的,就我而言,它是一台 Datamax 打印机。
标签: c# string text printing zebra-printers