Я могу распечатать текст, арабские символы, но я не могу распечатать форматированный текст, такой как выравнивание по центру, полужирный текст и т. д.
Я использую этот плагин для печати данных https://github.com/don/BluetoothSerial.
ниже приведены команды для выравнивания по центру и полужирного текста.
TXT_ALIGN_CT: '\x1b\x61\x01', // Centering
TXT_BOLD_ON: '\x1b\x45\x01';
следующие шаги: 1. Использование функции ниже для преобразования строки в байт
private getPrintData(TEXT: string) {
// based on http://ciaranj.blogspot.fr/2007/11/utf8-characters-encoding-in-javascript.html
var bytes = [];
for (var n = 0; n < TEXT.length; n++) {
var c = TEXT.charCodeAt(n);
if (c < 128) {
bytes[bytes.length] = c;
} else if ((c > 127) && (c < 2048)) {
bytes[bytes.length] = (c >> 6) | 192;
bytes[bytes.length] = (c & 63) | 128;
} else {
bytes[bytes.length] = (c >> 12) | 224;
bytes[bytes.length] = ((c >> 6) & 63) | 128;
bytes[bytes.length] = (c & 63) | 128;
}
}
return bytes;
}
const printData = this.getPrintData(getPrintData('你好'));
this.printer.printData(printData ).then((success) => {});
работает нормально.
<сильный>2. попробуйте передать команды ESC/POS в виде шестнадцатеричного кода, как показано ниже.
const data = new Uint8Array([0x2fa00bf0e86c440658a6a71]);
this.printer.printData(data);
он не отображает жирный текст,
кто-нибудь может мне помочь??