打印功能都是根据AI返回的代码合成的,没有预览,只有直接往打印机输出并打印,只实现了画线,矩形 文字,椭圆 几个功能,文字支持旋转任意角度,使用xps输出的打印效果
代码可以用chatGPT查询
接口调用的js调用代码
var printer = new TPrinter({
Title: "testprint"
, PageWidth: 210 //纸张大小 宽度 单位毫米
, PageHeight: 297 //纸张大小 高度 单位毫米
, PrinterNameKey: "XPS"//"EPSON9F2845 (K200)"
});
//打印文本
printer.TEXT("测", { Color: "#0000FF", x: 30, y: 0, Rotate: 45 });
printer.TEXT("测", { Color: "#0000FF", x: 40, y: 0 });
printer.TEXT("测", { Color: "#0000FF", x: 0, y: 40 });
printer.TEXT("测", { Color: "#0000FF", x: 0, y: 40, Rotate: 45 });
printer.TEXT("试", { Color: "#0000FF", x: 0, y: 0, Rotate: 45 });
printer.TEXT("测试2", { Color: "#FF0000", x: 0, y: 10, FontSize: 10, Align: "center" });
printer.TEXT("测试2测试2测试2测试2测试2", { Color: "#00FF00", x: 1, y: 20, x1: 30, y1: 40, FontSize: 4, Rotate: 45 });
printer.TEXT("测试2",
{
Color: "#00FF00"
, x: 10
, y: 60
, x1: 30
, y1: 90
, FontSize: 4
, Align: "center"
, FontName: "隶书"
});
//画线
printer.LINE({
x: 0 //线段起始点距离纸张左边 x 毫米
, y: 55 //线段起始点距离纸张顶端 y 毫米
, x1: 180 //线段终点距离纸张左边 x1 毫米
, y1: 130 //线段终点距离纸张顶端 y1 毫米
, Color: "#ff0000" //线段颜色 不设置默认黑色
, Style: 2 //线段样式 1 线段 2 点 3线段点 4 线段点点
, Width: 1 //线条宽 毫米
//, Page: 1 //第几页打印
});
printer.LINE({
x: 50 //线段起始点距离纸张左边 x 毫米
, y: 0 //线段起始点距离纸张顶端 y 毫米
, x1: 180 //线段终点距离纸张左边 x1 毫米
, y1: 130 //线段终点距离纸张顶端 y1 毫米
, Color: "#ff0000" //线段颜色 不设置默认黑色
, Style: 2 //线段样式 1 线段 2 点 3线段点 4 线段点点
, Width: 1 //线条宽 毫米
//, Page: 1 //第几页打印
});
//绘制矩形
printer.RECT({
x: 0 //矩形左上角距离纸张左边 x 毫米
, y: 20 //矩形左上角距离纸张顶端 y 毫米
, x1: 50 //矩形右下角距离纸张左边 x1 毫米
, y1: 50 //矩形右下角距离纸张顶端 y1 毫米
, Color: "#ff0000"//线段颜色 不设置默认黑色
, Style: 0 //线段样式 1 线段 2 点 3线段点 4 线段点点
, Width: 2 //线条宽 毫米
//, Page: 2 //第几页打印
});
printer.print();
因篇幅问题不能全部显示,请点此查看更多更全内容