You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#调用RawPrinterHelper时如何向点阵票据打印机发送加粗字号调整命令

解决方案

你当前使用的RawPrinterHelper是直接向打印机发送裸控制指令,市面绝大多数点阵票据打印机都兼容ESC/POS指令集,直接在需要修改格式的文本前后插入对应控制指令,即可实现加粗、字号调整效果,无需调用额外API。


常用格式控制指令定义

  • 开启加粗:\x1B\x45\x01(ASCII对应:ESC + 'E' + 1)
  • 关闭加粗:\x1B\x45\x00(ASCII对应:ESC + 'E' + 0)
  • 恢复正常字号:\x1D\x21\x00(ASCII对应:GS + '!' + 0)
  • 宽度加倍字号:\x1D\x21\x20(ASCII对应:GS + '!' + 32)
  • 高度加倍字号:\x1D\x21\x10(ASCII对应:GS + '!' + 16)
  • 宽高均加倍字号:\x1D\x21\x30(ASCII对应:GS + '!' + 48)

修改后代码示例

以下示例实现首行标题用双倍大小、第三行加粗的效果,你可以根据实际需求调整格式生效的行范围:

public static void PrintInvoice(string PrinterName, Ticket ticket)
{
    // 用StringBuilder拼接比字符串+操作性能更好,内容多的时候差距明显
    StringBuilder printContent = new StringBuilder();
    // 原有切纸指令保留
    string CUT_COMMAND = Convert.ToString((char)29) + "V" + Convert.ToString((char)66) + Convert.ToString((char)0);
    
    for (int i = 0; i < ticket.Data.Count; i++)
    {
        string line = ticket.Data[i];
        if (i == 0) 
        {
            // 首行设置为宽高加倍字号
            printContent.Append((char)29 + "!" + (char)48);
            printContent.Append(line + Environment.NewLine);
            // 打印完标题立即恢复正常字号,避免后续内容格式错乱
            printContent.Append((char)29 + "!" + (char)0);
        }
        else if (i == 2) 
        {
            // 第三行开启加粗
            printContent.Append((char)27 + "E" + (char)1);
            printContent.Append(line + Environment.NewLine);
            // 打印完立即关闭加粗
            printContent.Append((char)27 + "E" + (char)0);
        }
        else
        {
            // 普通行直接打印
            printContent.Append(line + Environment.NewLine);
        }
    }
    
    printContent.Append(CUT_COMMAND);
    RawPrinterHelper.SendStringToPrinter(PrinterName, printContent.ToString());
}

注意事项

  • 格式指令全局生效,设置后所有后续打印内容都会沿用该格式,不需要特殊格式时一定要插入恢复默认的指令
  • 少部分小众品牌打印机可能使用自定义指令集,可查询对应型号的编程手册,指令插入逻辑和上述示例完全一致

内容的提问来源于stack exchange,提问作者user2997393

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 07:15:10