我们需要在网页上实现批量打印功能,如一次性批量打印出当日订单。
有没有一种工具,直接点一下按钮就批量打印出来,而不是单个点击预览打印呢?
并且这个接入要简单、要稳定!
答案是:有!
今天我来介绍下这个最便捷的批量打印方案!
它不挑打印机、不挑纸张、不挑类型,主打一个不挑食!
第1步:下载OnePrinter、设置默认打印机并配置
解压缩后,点击OnePrinter.exe,打印服务就算启动了,可以缩到屏幕右下角的任务栏里。
在windows打印机首选项里,指定好默认的打印机,这个自行搜索windows打印机设置,很简单。
上边的 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过去。
然后,然后就是。。。打印机开始打印~