2

我想打印像 č、ć、š 之类的字符,以准确地表示克罗地亚语字符。我正在为 SPP-R200II 打印机使用 Bixolon sdk。代码现在很简单,只想打印一些字符串

 ListaRacuna.mBixolonPrinter.printText(slanjeNaPrinter, BixolonPrinter.ALIGNMENT_LEFT, 0,     BixolonPrinter.TEXT_SIZE_HORIZONTAL1 | BixolonPrinter.TEXT_SIZE_VERTICAL1, false);
                        ListaRacuna.mBixolonPrinter.lineFeed(1, false);

                        ListaRacuna.mBixolonPrinter.cutPaper(true);

通过蓝牙连接到打印机。

4

2 回答 2

4

我们在西班牙语字符(ñ、á、é、€...)上遇到了同样的问题,并联系了 Bixolon 支持电子邮件。他们用一个简单的解决方案回答了我们,并且成功了:当你得到bixolonPrinter对象时,在打印文本之前做这个:

bixolonPrinter.setSingleByteFont(BixolonPrinter.CODE_PAGE_858_EURO);

您可能需要将CODE_PAGE_*常量更改为与您尝试打印的字符相关的另一个常量。

顺便说一句,查看这个开源项目可能会很有趣,我们在其中展示了如何使用 Bixolon 打印机进行打印并实现自动连接机制:Fewlaps 喜欢 Bixolon

于 2014-06-16T18:05:19.957 回答
0

CODE_PAGE_858_EURO西班牙语字符可以,但东欧字符不行ČŠŽĐ

建议的解决方案不适用于我。经过大量搜索,我想出了一个解决方案。

  1. 设置支持斯拉夫字符的代码页: xx.mBixolonPrinter.setSingleByteFont(BixolonPrinter.CODE_PAGE_852_LATIN2);

  2. 使用函数将斯拉夫字符转换为bixolon spp r400可以理解的内容: xx.mBixolonPrinter.printDotMatrixText(SloConvText, alignment, attribute, size, false);

哪里SloConvText是: SloConvText = ReplaceSloChar(s_textLine,ConvString);

关键解决方案,ReplaceSloChar(没有\u0003不行,用两个字节代替,都是韩文符号)

public static String ReplaceSloChar(String inString, String ConvString) {

    String S1 = inString.replaceAll("Č","\u010C\u0003");
    String S2 = S1.replaceAll("Š","\u0160\u0003");
    String S3 = S2.replaceAll("Ž","\u017D\u0003");

    String S4 = S3.replaceAll("č","\u010D\u0003");
    String S5 = S4.replaceAll("š","\u0161\u0003");
    ConvString = S5.replaceAll("ž","\u017E\u0003");

    return ConvString;
}

这是开销,但čšž以任何形式发送到bixolon spp r400根本不起作用。

于 2017-07-06T20:27:42.687 回答