Не умеет печатать международный характер - PullRequest
1 голос
/ 11 октября 2019

Я использую нод-термопринтер для печати некоторых вьетнамских текстов. Я напечатал "Thành phố Hồ Chí Minh", чтобы проверить это. но это печатать "?"в нескольких местах, как показано на рисунке. Любая помощь будет оценена, чтобы решить эту проблему. Я также использовал другой набор символов, такой как WPC1258_VIETNAMESE , упомянутый в документации, но все осталось по-прежнему. Я использую следующий модуль узла https://github.com/Klemen1337/node-thermal-printer

enter image description here

1 Ответ

0 голосов
/ 11 октября 2019

Я тестировал с использованием буферных данных вместо необработанного текста, и, кажется, работает нормально. Но я не тестировал на реальном принтере.

Запустите ниже фрагмент кода, мой вывод будет выглядеть так:

Thành phố Hồ Chí Minh
------------------------------------------------
const ThermalPrinter = require("node-thermal-printer").printer;
const PrinterTypes = require("node-thermal-printer").types;

(async () => {
  let printer = new ThermalPrinter({
    type: PrinterTypes.STAR,
    interface: 'tcp://xxx.xxx.xxx.xxx',
    characterSet: 'SLOVENIA',
    removeSpecialCharacters: false,
    lineCharacter: "-",
    options: {
      timeout: 1000
    }
  });

  printer.setBuffer(Buffer.from("Thành phố Hồ Chí Minh\n"));
  printer.drawLine();

  console.log(printer.getText());

  // I do not have any real printer
  // try {
  //   await printer.execute();
  //   console.log("Print success.");
  // } catch (error) {
  //   console.error("Print error:", error);
  // }
})();
...