核心用法
inkjet 是一款专为 macOS 设计的命令行工具,用于直接通过 BLE(低功耗蓝牙)连接廉价热敏打印机(如 X6h、GT01、猫打印机等)。无需系统蓝牙配对,执行 inkjet scan 发现设备后即可打印。支持四大输出模式:文本打印(含多行、字号调节)、Markdown 渲染(推荐用于复杂收据/日志)、图片输出(支持抖动算法优化)、二维码生成(最小可读尺寸 75px)。此外提供纸张进给控制、多打印机别名管理、管道输入(stdin)及 JSON 输出等高级功能。
显著优点
- 零配置连接:绕过 macOS 蓝牙配对流程,直接 BLE 通信,降低使用门槛
- 格式丰富:原生 Markdown 支持让代理无需生成临时文件即可输出结构化内容
- 成本极低:热敏纸价格远低于普通打印耗材,适合高频、一次性场景(如儿童作业、临时标签)
- 灵活部署:支持 pip 与 Homebrew 双渠道安装,配置文件可按项目隔离(
.inkjet/优先级高于全局) - 多机编排:通过
--address实现角色化路由(厨房/办公室)或负载均衡
潜在缺点与局限
- 平台受限:当前仅支持 macOS,Linux/Windows 用户无法使用
- 硬件依赖:仅兼容特定型号热敏打印机,购买前需确认型号支持列表
- 无持久化配对:每次需确保打印机开启,断开后需重新扫描(虽无需配对,但无自动重连)
- 内容限制:明确禁止打印表情符号,多语言支持未在文档中说明
- 安全盲区:BLE 通信未提及加密细节,物理打印内容可能被附近设备截获
适合人群
- 需要低成本物理输出的开发者与自动化工作流(如 CI/CD 构建状态、服务器日志硬拷贝)
- 教育场景:家长或教师打印临时作业、手写练习纸
- 小型零售/餐饮:快速打印订单小票、取餐号、WiFi 密码二维码
- IoT 爱好者:希望将数字状态转为实体纸条的硬件玩家
常规风险
- 蓝牙干扰:2.4GHz 频段拥挤可能导致打印失败,建议近距离使用
- 热敏纸褪色:输出内容在光照/高温下会退化,不适合长期存档
- 配置漂移:本地项目配置(
.inkjet/)与全局配置优先级逻辑易引发意外行为 - 依赖编译:Homebrew 安装需编译 Pillow,首次安装耗时较长