网页静默打印接入指南,想怎么打印就怎么打印!

0 阅读3分钟

这两天,又把OnePrinter做了个升级,主要是增加了电脑快打、手机快打和打印日志等功能。这样一来,当我们使用网页静默打印时还可以有别的功能操作,简直不要太方便。

OnePrinter其实是一个网页打印控件,专注于解决Web调用打印机(本机或局域网中)进行批量打印 的问题,让打印的时候不会弹出预览之类的,能快速批量进行打印。

目前的主要功能如下:

  • 支持Web通过POST请注,传参唤起系统打印机进行批量打印。
  • 支持Windows、MacOS、Linux等操作系统。
  • 支持Word、PDF、图片、Base64等格式打印。
  • 支持端口号自定义。
  • 支持局域网调用,可在其他电脑上传参。
  • 支持电脑快打功能,选择相应文档或图片即可进行打印。
  • 支持手机快打功能,手机扫码或打开链接即可进行打印。
  • 支持打印日志记录,包括删除、清空等操作。

内网调用:跨设备打印无障碍

支持端口号自定义:不再受固定端口限制,灵活适配你的网络环境。

局域网调用:其他电脑可通过IP地址访问并提交打印任务,轻松实现跨设备共享打印。

home1.png

电脑快打:选择文件,即刻打印

无需复杂配置,直接在电脑端选择文档或图片,即可快速发起打印任务。支持常见格式PDF、Word、图片等,一键搞定!

pc.png

手机快打:不换打印机,也能手机打印

手机端扫描二维码或直接打开链接即可上传文件并触发打印。无需安装任何驱动,无需手动配置,无需更换打印机。

phone.png

phone_upload.png

打印日志:操作留痕,管理无忧

系统自动记录每一次打印操作,包括文件名称、时间、状态等。同时支持删除、清空日志等管理功能,方便追溯与审计。

log.png

使用方法

要实现网页静默批量打印也很简单,只要向这个本机地址POST传一个文件的url地址即可。

传参只有3个:一是key本地调打印机不需要传,二是url就是你的打印文件的url,三是base64代码。二选一。

我的封装用的是axios,请参考:

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

最后说说为什么我只设计成传url或base64。

原因是:

终端操作员没必要去了解怎么设置纸张、间隔之类的,也不太懂这个。

如果用指令式或者json参数式反而不够自由。

于是,我决定只需要传url或base64文件,具体样式你们程序员自己写好传进去就行了。