Skip to content

amm10090/PrintArk

Repository files navigation

PrintArk(印舟)

PrintArk 是一个面向 macOS 的本地电子面单打印助手,用来替代菜鸟 / 千牛打印链路中依赖的本机打印服务。它在本机接收来自淘宝、千牛等页面的打印请求,生成可预览的面单 PDF,并把需要真实出纸的任务交给 macOS 打印系统处理。

这个项目的目标很简单:让面单打印从“黑盒插件 + 难排查的本地服务”变成一个可见、可控、可调校的 macOS 应用。

适合谁

  • 需要在 macOS 上处理淘宝、千牛、菜鸟相关电子面单打印的用户
  • 想要查看当前面单内容、预览 PDF、确认打印任务状态的用户
  • 需要调整热敏打印机纸张、偏移、旋转、缩放、字号等参数的用户
  • 需要排查“页面显示已打印但机器没出纸”“重复提交”“失败后重打”等问题的用户

它解决什么问题

传统打印链路通常把关键过程藏在本地插件或后台服务里:页面发出了什么请求、生成了哪张面单、是否进入真实打印、打印机收到的任务是什么,都不容易确认。PrintArk 把这些过程集中到一个原生 macOS 工作台里:

  • 页面打印请求进入本机服务后,可以在应用里看到任务状态。
  • 面单会先渲染为 PDF,方便预览、校准和保存。
  • 真实打印会走 macOS / CUPS 打印队列,便于复用系统打印机配置。
  • 失败任务可以在应用里重试,减少回到网页重新操作的成本。

核心能力

  • 本地兼容服务:兼容菜鸟 / X Print 常用的本机通信入口,页面无需感知底层实现已替换。
  • 面单预览:从真实打印请求生成任务专属 PDF,并在应用中直接查看。
  • 打印队列:展示最近任务、打印状态、失败原因和已生成的面单文件。
  • 打印机设置:选择打印机、纸张规格、是否真实打印,以及适配热敏面单的常用选项。
  • 校准工具:按打印机保存偏移、旋转、缩放和自适应纸张设置。
  • 字号调整:支持调整商品信息、买家备注、卖家备注等面单区域的字号。
  • 失败重试:对已渲染但提交失败的面单进行重新打印。
  • 菜单栏常驻:服务状态、队列摘要和常用操作可以从菜单栏快速访问。
  • 更新检查:在应用内检查 GitHub Release 中的新版本。

使用方式

  1. 打开 PrintArk,应用会启动本机打印服务并常驻菜单栏。
  2. 在淘宝 / 千牛页面中按原来的方式发起面单打印。
  3. 回到 PrintArk 查看当前面单、打印队列和任务状态。
  4. 如果需要真实出纸,在打印设置中选择正确打印机,并确认已关闭模拟打印。
  5. 如果纸张位置不准,在当前面单页右侧调整偏移、旋转、缩放或纸张设置。

PrintArk 默认更偏向安全预览:先让你看到面单和任务状态,再决定是否进入真实打印。对热敏打印机或新模板,建议先用预览和模拟打印确认效果,再开启真实打印。

安装

  1. Releases 下载最新的 PrintArk-vX.Y.Z.app.zip 并解压。

  2. PrintArk.app 拖入「应用程序」。

  3. 首次打开前执行:

    sudo xattr -cr /Applications/PrintArk.app
  4. 双击打开 PrintArk.app

  5. 首次打开后,进入「版本信息」页面,在「服务信息」中点击「安装本机证书」。该证书由 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。

About

印舟 (PrintArk) — macOS 原生淘宝/菜鸟「X 打印」插件替代品,纯 Swift 实现本地打印协议、面单渲染与打印队列

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages