【问题标题】:How to print box drawing character using ESC/POS如何使用 ESC/POS 打印方框图字符
【发布时间】:2021-03-26 03:54:12
【问题描述】:

我想在 Android 应用程序中使用 ESC/POS 将方框图字符打印到 Epson LQ310 点阵打印机。示例打印输出如下,

最初,我使用下划线和竖线来绘制边框。但打印出来的结果是虚线。我想换成连续线。

然后我看到有一个带有 ASCII 码的画框字符作为图像附加,

使用这些 ASCII 码信息,我尝试打印,但打印输出变成了其他字符。 我发现这是由于打印机中使用的字符集不同

通过ESC/P命令查看,关于字符集的命令只有这2条。

ESC R
ESC t

我完成的示例代码如下,我只是尝试了几个字符,但无济于事。如何注册PC850字符集并使用ESC t命令使用?

char[] verticalLine = {0x00B3};
char[] verticalPlusLeft = {0x00B4};
char[] upperRightCorner = {0x00BF};
char[] bottomRightCorner = {0x00D9};
char[] upperLeftCorner = {0x00DA};
char[] bottomLeftCorner = {0x00C0};
char[] horizonLine = {0x00C4};
char[] verticalPlusRight = {0x00C3};
char[] charMultiLangual = {0x001B, 0x0074, 0x0002}; //ESC,t,2(PC850)
char[] charCodeDefault = {0x001B, 0x0074, 0x0000}; //ESC,t,0(Default)

strPrintFooterTitle = new String(charMultiLangual);
strPrintFooterTitle += printFooter(new String(upperLeftCorner), "TYPE", new String(verticalLine), "QTY", new String(upperRightCorner)) + "\n";
strPrintFooterBig = printFooter(new String(verticalLine), "Crate - Big", "|", "5", "|") + "\n";
strPrintFooterSmall = printFooter("|", "Crate - Small", "|", "10", "|") + "\n";
strPrintFooter = new String(charCodeDefault);

非常感谢任何帮助。谢谢

【问题讨论】:

    标签: java character epson escp


    【解决方案1】:

    您可以完全使用那些box-drawing characters,而不是它们的代码,如下所示:

    System.out.println("┌───────────────────────┬───────┐");
    System.out.println("│  Type                 │  QTY  │");
    System.out.println("├───────────────────────┼───────┤");
    System.out.println("│  Crate - Big          │    7  │");
    System.out.println("├───────────────────────┼───────┤");
    System.out.println("│  Crate - Small        │    3  │");
    System.out.println("└───────────────────────┴───────┘");
    

    输出:

    ┌───────────────────────┬───────┐
    │  Type                 │  QTY  │
    ├───────────────────────┼───────┤
    │  Crate - Big          │    7  │
    ├───────────────────────┼───────┤
    │  Crate - Small        │    3  │
    └───────────────────────┴───────┘
    

    另见:How do I rotate a matrix 90 degrees counterclockwise in java?

    【讨论】:

      猜你喜欢
      • 2020-07-21
      • 2016-08-25
      • 2020-02-11
      • 2013-07-01
      • 2014-12-14
      • 2017-10-21
      • 2018-08-29
      • 2018-12-18
      • 2013-11-23
      相关资源
      最近更新 更多