超简单的JS批量打印控件

27 阅读2分钟

我们需要在网页上实现批量打印功能,如一次性批量打印出当日订单。

有没有一种工具,直接点一下按钮就批量打印出来,而不是单个点击预览打印呢?

并且这个接入要简单、要稳定!

答案是:有!

今天我来介绍下这个最便捷的批量打印方案!

它不挑打印机、不挑纸张、不挑类型,主打一个不挑食!

第1步:下载OnePrinter、设置默认打印机并配置

github.com/chensprojec…

gitee.com/chenrongbin…

解压缩后,点击OnePrinter.exe,打印服务就算启动了,可以缩到屏幕右下角的任务栏里。

在windows打印机首选项里,指定好默认的打印机,这个自行搜索windows打印机设置,很简单。

ScreenShot_2025-12-27_165457_076.png

上边的 http://127.0.0.1:10081 就是打印软件接收POST请求的URL了,这个端口号和url记录下来,第2步要用。

第二步:封装打印JS

我用的是axios封装的请求,你可以根据自已的需求自行封装,实际上就是一个POST请求,发送到这个URL上,携带文件的URL或者BASE64就行。

// onePrint.js
import {Post} from "@/util/http";
// 传入待打印文件的url或base64
export async function toPrint(url,base64) {
    // url和base64,二选一。
    let obj = {
        key: "", // 如需网络打印,请注册授权获取。如本地打印留空。
        url: url, // 打印文件的地址,如 https://abc.com/1.doc。
        base64: base64 //打印文件的base64代码
    };
    // 如10081端口被占用,请尝试10082端口。
    const res = await Post("http://127.0.0.1:10081/print", obj);
    if (res.data.code === 1) {
        // 执行成功
    }else{
        // 执行失败
    }
}

第三步:开始打印。

封装好后,在需要打印的按钮上调用这个函数就行了!如果要批量打印,用for或者foreach调用,把所有数据POST过去。

然后,然后就是。。。打印机开始打印~