我正在尝试使用 C# 中的 Microsoft Point of Service SDK 在 Epson TM-T88IV M(并行端口)上打印中文字符。但是,它们在打印机上显示为问号。(?)
我的 PosPrinter 具有以下有效 CharacterSetList :255,437,850,852,858,860,863,865,866,936,998,999,1252
以及以下 CapCharacterSet:Kanji
代码页 1252 是默认的 Windows 代码页。936 是简体中文的代码页。在这种情况下,我使用的是代码页 936,但一直无法在打印机上显示中文字符。
例子:
string str = "重新开始";
// open device as variable _ReceiptPrinter, claim it, mark it as enabled
_ReceiptPrinter.CharacterSet = 936;
_ReceiptPrinter.PrintNormal(PrinterStation.Receipt, str);
这将打印出所有中文字符都替换为 ? 的文本。
我不确定是否需要在打印前指定额外的转义码(ESC R 15?),或者我的打印机是否在 Epson OPOS (v2.50e) 中配置错误。我尝试了很多东西,但没有任何效果。任何想法或代码示例?
注意:在自检中,打印机会打印汉字。