label-print/routes/api.generate.mjs
2025-05-17 16:23:48 +02:00

63 lines
1.2 KiB
JavaScript

import {
Router
} from "express";
import {
Label,
Grid,
Text,
Line,
Box,
Circle,
Barcode,
PrintDensity,
Spacing
} from "jszpl";
import {
Printer as PrinterTable
} from "../sequelize/printer.model.mjs";
import {
Template as TemplateTable
} from "../sequelize/template.model.mjs";
import {
Medium as MediaTable
} from "../sequelize/media.model.mjs";
import {
Queue as QueueTable
} from "../sequelize/queue.model.mjs";
export var Routes = Router();
Routes.post('/generate-zpl', async function (Request, Response)
{
const label = new Label();
label.printDensity = new PrintDensity(8);
label.width = 100;
label.height = 50;
label.padding = new Spacing(10);
const text = new Text();
label.content.push(text);
text.fontFamily = new FontFamily(FontFamilyName.D);
text.text = 'Hello World!';
const zpl = label.generateZPL();
await PrinterTable.create({
name: Request.body.name,
socket_addr: Request.body.socket_addr,
socket_port: Request.body.socket_port,
density: Request.body.density,
type: "zpl"
});
Response.status(200);
Response.end();
})