PrintArk 是一个面向 macOS 的本地电子面单打印助手,用来替代菜鸟 / 千牛打印链路中依赖的本机打印服务。它在本机接收来自淘宝、千牛等页面的打印请求,生成可预览的面单 PDF,并把需要真实出纸的任务交给 macOS 打印系统处理。
这个项目的目标很简单:让面单打印从“黑盒插件 + 难排查的本地服务”变成一个可见、可控、可调校的 macOS 应用。
- 需要在 macOS 上处理淘宝、千牛、菜鸟相关电子面单打印的用户
- 想要查看当前面单内容、预览 PDF、确认打印任务状态的用户
- 需要调整热敏打印机纸张、偏移、旋转、缩放、字号等参数的用户
- 需要排查“页面显示已打印但机器没出纸”“重复提交”“失败后重打”等问题的用户
传统打印链路通常把关键过程藏在本地插件或后台服务里:页面发出了什么请求、生成了哪张面单、是否进入真实打印、打印机收到的任务是什么,都不容易确认。PrintArk 把这些过程集中到一个原生 macOS 工作台里:
- 页面打印请求进入本机服务后,可以在应用里看到任务状态。
- 面单会先渲染为 PDF,方便预览、校准和保存。
- 真实打印会走 macOS / CUPS 打印队列,便于复用系统打印机配置。
- 失败任务可以在应用里重试,减少回到网页重新操作的成本。
- 本地兼容服务:兼容菜鸟 / X Print 常用的本机通信入口,页面无需感知底层实现已替换。
- 面单预览:从真实打印请求生成任务专属 PDF,并在应用中直接查看。
- 打印队列:展示最近任务、打印状态、失败原因和已生成的面单文件。
- 打印机设置:选择打印机、纸张规格、是否真实打印,以及适配热敏面单的常用选项。
- 校准工具:按打印机保存偏移、旋转、缩放和自适应纸张设置。
- 字号调整:支持调整商品信息、买家备注、卖家备注等面单区域的字号。
- 失败重试:对已渲染但提交失败的面单进行重新打印。
- 菜单栏常驻:服务状态、队列摘要和常用操作可以从菜单栏快速访问。
- 更新检查:在应用内检查 GitHub Release 中的新版本。
- 打开 PrintArk,应用会启动本机打印服务并常驻菜单栏。
- 在淘宝 / 千牛页面中按原来的方式发起面单打印。
- 回到 PrintArk 查看当前面单、打印队列和任务状态。
- 如果需要真实出纸,在打印设置中选择正确打印机,并确认已关闭模拟打印。
- 如果纸张位置不准,在当前面单页右侧调整偏移、旋转、缩放或纸张设置。
PrintArk 默认更偏向安全预览:先让你看到面单和任务状态,再决定是否进入真实打印。对热敏打印机或新模板,建议先用预览和模拟打印确认效果,再开启真实打印。
-
到 Releases 下载最新的
PrintArk-vX.Y.Z.app.zip并解压。 -
把
PrintArk.app拖入「应用程序」。 -
首次打开前执行:
sudo xattr -cr /Applications/PrintArk.app
-
双击打开
PrintArk.app。 -
首次打开后,进入「版本信息」页面,在「服务信息」中点击「安装本机证书」。该证书由 PrintArk 在本机独立生成,用于
wss://localhost:13529/,不依赖菜鸟打印软件。
目前发布包尚未经过 Apple 开发者签名与公证。macOS 可能会把从网络下载的 App 标记为“已损坏,无法打开”;上面的命令只清除 /Applications/PrintArk.app 这一项的隔离属性,不会影响其他应用。
PrintArk 当前是一个原生 Swift / SwiftUI macOS 应用,支持菜单栏常驻、面单工作台、打印队列、失败重试、版本检查,以及本地打印服务。核心场景围绕淘宝 / 千牛 / 菜鸟电子面单打印展开,当前重点支持已验证的中通面单模板与 macOS 打印机队列。
从 v1.1.13 开始,冷启动、重启和睡眠唤醒均由 PrintArk 自行完成本机端口监听与远端兼容握手,不会启动官方菜鸟打印组件。localhost TLS 证书也由 PrintArk 按设备生成并保存到自己的 Application Support 目录。
如果遇到新的快递公司、模板 ID、纸张规格或页面打印流程,可能需要继续补充模板适配和协议兼容。
PrintArk 起源于对菜鸟 / X Print 本地打印协议的实测和替代实现。早期目标是验证浏览器页面、本机 WebSocket 服务、PDF 预览服务和物理打印之间的完整链路;现在项目已经收敛为一个面向日常使用的 macOS 打印工具。
仓库中仍保留了部分回放脚本和协议验证材料,主要用于确认兼容性和回归测试。普通用户只需要安装并运行 App。