Я тестировал с использованием буферных данных вместо необработанного текста, и, кажется, работает нормально. Но я не тестировал на реальном принтере.
Запустите ниже фрагмент кода, мой вывод будет выглядеть так:
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);
// }
})();