如何在80mm热敏票据打印机上打印英镑符号£?

时间:2019-06-25 13:09:37

标签: c#

我正在尝试在80mm热敏票据打印机上打印英镑符号(£),但其显示标记(?)。我正在使用原始打印机帮助程序c#。

    StringBuilder print = new StringBuilder();
    string barcode = "1234567890";
    char commandGS = '\x1D';
    char linefeed = '\x0A';
    char esc = '\x1B';
    char commandFontSize = '\x21';
    char commandk = '\x6B';
    char code128 = '\x69';

    print.Append("£200.\r\n");
    print.Append(code128);
    print.Append(barcode.Length);
    print.Append(barcode);
    string printJob = print.ToString();
    RawPrinterHelper.SendStringToPrinter("PrinterName", printJob);

2 个答案:

答案 0 :(得分:2)

如果您在热敏打印机上进行原始打印,则符号未显示可能是字体问题。也就是说,打印机上安装的字体不包含您要打印的符号。

根据该打印机的型号,您将必须安装一种包含要使用的符号的字体。检查制造商的站点和打印机文档,有时在那里说明安装新字体或缺少代码页的情况。

此外,请检查您使用的代码页是否正确,并且要打印的£符号的代码与打印机上的字体的代码相同。有时在热敏打印机中,默认字体会稍微减少一些基本字符,以使字体更浅。

更多信息:

https://www.zebra.com/us/en/support-downloads/knowledge-articles/ait/downloading-and-using-fonts-on-zebra-zpl-printers.html

https://ask.libreoffice.org/en/question/88407/how-to-access-printer-built-in-fonts/

https://sites.psu.edu/symbolcodes/windows/charmap/

磅字符£具有两个版本: http://www.fileformat.info/info/unicode/char/search.htm?q=+%C2%A3&preview=entity

答案 1 :(得分:0)

        StringBuilder print = new StringBuilder();
        string barcode = "1234567890";
        char commandGS = '\x1D';
        char linefeed = '\x0A';
        char esc = '\x1B';
        char commandFontSize = '\x21';
        char commandk = '\x6B';
        char code128 = '\x69';

        print.Append("£200.\r\n");
        print.Append(code128);
        print.Append(barcode.Length);
        print.Append(barcode);
        string printJob = print.ToString();
        RawPrinterHelper.SendStringToPrinter("PrinterName", printJob);