ng-thermal-print
Version:
An angular module to add thermal printing capabilities.
89 lines • 9.73 kB
JavaScript
import { PrintBuilder } from './PrintBuilder';
import { PrintBuffer } from "./PrintBuffer";
const ESC = 0x1b;
const GS = 0x1D;
export class StarPrintBuilder extends PrintBuilder {
constructor() {
super();
this.encoder = new TextEncoder();
}
init() {
this.buffer = new PrintBuffer();
this.write(ESC);
this.write("@");
return this;
}
flush() {
return this.buffer.flush();
}
feed(lineCount = 1) {
this.write(ESC);
this.write("a");
this.write(lineCount);
return this;
}
cut(cutType = 'full') {
this.write(ESC);
this.write("d");
this.write(cutType === 'full' ? 2 : 3);
return this;
}
writeLine(value) {
return this.write(`${value}\n`);
}
setInverse(inverse = true) {
this.write(ESC);
(inverse) ? this.write("4") : this.write("5");
return this;
}
setUnderline(underline = true) {
this.write(ESC);
this.write("-");
this.write(underline ? 1 : 0);
return this;
}
setJustification(value) {
let alignment;
switch (value) {
case "center":
alignment = 1;
break;
case "right":
alignment = 2;
break;
default:
alignment = 0;
break;
}
this.write(ESC);
this.write(GS);
this.write("a");
this.write(alignment);
return this;
}
setBold(bold = true) {
this.write(ESC);
(bold) ? this.write("E") : this.write("F");
return this;
}
setSize(size) {
this.write(ESC);
this.write("i");
this.write((size === 'normal') ? 0 : 1);
this.write((size === 'normal') ? 0 : 1);
return this;
}
write(value) {
if (typeof value === "number") {
this.buffer.writeUInt8(value);
}
else if (typeof value === "string") {
this.buffer.write(this.encoder.encode(value));
}
else {
this.buffer.write(value);
}
return this;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RhclByaW50QnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXRoZXJtYWwtcHJpbnQvc3JjL2xpYi9idWlsZGVycy9TdGFyUHJpbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQztBQUNqQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFaEIsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFlBQVk7SUFJOUM7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQUpKLFlBQU8sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBS3BDLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxDQUFDLFlBQW9CLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdEIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFrQixNQUFNO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFD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O1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDakQ7YUFBTTtZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJpbnRCdWlsZGVyIH0gZnJvbSAnLi9QcmludEJ1aWxkZXInO1xuaW1wb3J0IHsgUHJpbnRCdWZmZXIgfSBmcm9tIFwiLi9QcmludEJ1ZmZlclwiO1xuZGVjbGFyZSB2YXIgVGV4dEVuY29kZXI6IGFueTtcblxuY29uc3QgRVNDID0gMHgxYjtcbmNvbnN0IEdTID0gMHgxRDtcblxuZXhwb3J0IGNsYXNzIFN0YXJQcmludEJ1aWxkZXIgZXh0ZW5kcyBQcmludEJ1aWxkZXIge1xuICAgIHByaXZhdGUgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgIHByaXZhdGUgYnVmZmVyOiBQcmludEJ1ZmZlcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIGluaXQoKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMuYnVmZmVyID0gbmV3IFByaW50QnVmZmVyKCk7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgdGhpcy53cml0ZShcIkBcIik7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGZsdXNoKCk6IFVpbnQ4QXJyYXkge1xuICAgICAgICByZXR1cm4gdGhpcy5idWZmZXIuZmx1c2goKTtcbiAgICB9XG5cbiAgICBmZWVkKGxpbmVDb3VudDogbnVtYmVyID0gMSk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJhXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGxpbmVDb3VudCk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgY3V0KGN1dFR5cGU6IHN0cmluZyA9ICdmdWxsJyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJkXCIpO1xuICAgICAgICB0aGlzLndyaXRlKGN1dFR5cGUgPT09ICdmdWxsJyA/IDIgOiAzKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICB3cml0ZUxpbmUodmFsdWU6IHN0cmluZyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICByZXR1cm4gdGhpcy53cml0ZShgJHt2YWx1ZX1cXG5gKTtcbiAgICB9XG5cbiAgICBzZXRJbnZlcnNlKGludmVyc2U6IGJvb2xlYW4gPSB0cnVlKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgKGludmVyc2UpID8gdGhpcy53cml0ZShcIjRcIikgOiB0aGlzLndyaXRlKFwiNVwiKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRVbmRlcmxpbmUodW5kZXJsaW5lOiBib29sZWFuID0gdHJ1ZSk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCItXCIpO1xuICAgICAgICB0aGlzLndyaXRlKHVuZGVybGluZSA/IDEgOiAwKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2V0SnVzdGlmaWNhdGlvbih2YWx1ZTogc3RyaW5nKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIGxldCBhbGlnbm1lbnQ7XG4gICAgICAgIHN3aXRjaCAodmFsdWUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJjZW50ZXJcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAxXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIFwicmlnaHRcIjpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAyO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBhbGlnbm1lbnQgPSAwO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy53cml0ZShFU0MpO1xuICAgICAgICB0aGlzLndyaXRlKEdTKTtcbiAgICAgICAgdGhpcy53cml0ZShcImFcIik7XG4gICAgICAgIHRoaXMud3JpdGUoYWxpZ25tZW50KTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRCb2xkKGJvbGQ6IGJvb2xlYW4gPSB0cnVlKTogU3RhclByaW50QnVpbGRlciB7XG4gICAgICAgIHRoaXMud3JpdGUoRVNDKTtcbiAgICAgICAgKGJvbGQpID8gdGhpcy53cml0ZShcIkVcIikgOiB0aGlzLndyaXRlKFwiRlwiKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRTaXplKHNpemU6IHN0cmluZyk6IFN0YXJQcmludEJ1aWxkZXIge1xuICAgICAgICB0aGlzLndyaXRlKEVTQyk7XG4gICAgICAgIHRoaXMud3JpdGUoXCJpXCIpO1xuICAgICAgICB0aGlzLndyaXRlKChzaXplID09PSAnbm9ybWFsJykgPyAwIDogMSk7XG4gICAgICAgIHRoaXMud3JpdGUoKHNpemUgPT09ICdub3JtYWwnKSA/IDAgOiAxKTtcblxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHdyaXRlKHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5IHwgbnVtYmVyKTogYW55IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgdGhpcy5idWZmZXIud3JpdGVVSW50OCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh0aGlzLmVuY29kZXIuZW5jb2RlKHZhbHVlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1ZmZlci53cml0ZSh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxufSJdfQ==