开始使用

PrintLink 是什么

它解决什么问题、能打印什么内容、装在哪儿、支持哪些系统。

最后更新

PrintLink 是装在连接打印机的那台电脑上的打印服务。业务系统通过它直接调用 打印机出纸,不再依赖浏览器打印对话框或过时的打印插件。

它解决什么问题

网页本身碰不到打印机:window.print() 只能弹出浏览器的打印对话框,既不能 静默出纸,也不能选纸盒、双面、份数,更不知道打印机到底支持什么。

PrintLink 补上这一段:一个装在打印机旁边电脑上的小服务,业务系统把要打印的 内容交给它,由它完成排版、按打印机真实能力校验参数、然后出纸。

能打印什么

内容什么时候用
PDF服务端已经生成好的发票、报表、合同
图片照片、扫描件、已渲染好的图
模板文档面单、小票、价签这类反复填数据的内容,用在线设计器做
网页(HTML)已经有网页版式的信纸、单据
Hiprint 模板已有 vue-plugin-hiprint 模板,见 Hiprint 模板

这几种可以混排在同一条任务里——比如「第一页照片、第二到四页报告 PDF、 第五页面单」,用户只看到一次预览、打印机只收到一条任务。见组合打印。

怎么用

业务系统的网页里加一个 <script> 标签引入 SDK,然后按三步走:

await client.connect();            // 连接本机 PrintLink
await client.ensureAuthorized();   // 首次由本机用户确认授权
await client.compose({ queueId }).addPdf(bytes).printAndWait();

「本机」是关键:网页通过 127.0.0.1 连接同一台电脑上的 PrintLink, 所以网页部署在公网也没关系——用户在企业系统页面上点打印,纸从用户自己的 电脑出来,PrintLink 不需要对外暴露任何端口。

如果打印机不在用户电脑上(比如仓库里一台共享工作站),需要管理员显式开启 局域网或远程连接,见部署拓扑。

屏幕上看得到什么

  • 托盘图标:随时暂停 / 启动服务。
  • 控制台窗口:总览、打印机、任务、报表、打印机健康、安全与站点、设置。
  • 预览窗口:调用预览时弹出,用户确认后才出纸。
  • 浮动进度窗口(可选):打印时在屏幕角落显示进度。

支持的系统

平台说明
Windows 10 / 11完整支持
macOS 11+支持 Apple 芯片机型
Linux支持 CUPS 的发行版

下一步

本页目录