mcpField
P
print-file

print-file

github.com/mnhkahnドキュメント069 回インストール2 日前に更新
リポジトリ

print-file について

PDF、画像、文書などのローカルファイルを印刷するためのスキルです。用紙サイズとカラーの確認を先に行い、プリンター選択、印刷ジョブの送信、キューの確認までの手順を定めています。

主な機能

  1. 01用紙サイズとカラーの確認
  2. 02ファイルの存在確認
  3. 03プリンターの検索と選択
  4. 04CUPS経由の印刷ジョブ送信
  5. 05キューの確認とジョブ取消

活用シーン

  1. 01生成したPDFの印刷
  2. 02ローカル画像や文書の印刷
  3. 03停止した印刷ジョブの再試行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mnhkahn/cyeam-cli --skill print-file

インストール後、Claude Code で/print-fileを入力して読み込まれたか確認します。

詳細

プロジェクトの README より

本地打印文件

适用场景

用户要求打印本地文件、刚生成的文件、PDF、图片或文档时使用此 skill。

核心规则

  • 每次打印前必须向用户确认:
    • 纸张大小,默认 A4
    • 打印颜色,默认 黑白
  • 如果用户已经在同一句话明确指定纸张和颜色,可不再追问。
  • 不要在未确认纸张和颜色时直接提交打印任务。
  • 打印前先确认文件真实存在。
  • 优先使用系统默认打印机;如果没有默认打印机,列出可用打印机并让用户选择。
  • 如果 lpstat 在沙箱内查不到打印机,使用 escalated 权限重试;这通常是 macOS 打印服务访问受限,不代表没有打印机。

标准流程

  1. 定位文件:
ls -lh "<file>"
  1. 查询打印机:
lpstat -d
lpstat -e
lpstat -p
  1. 查询目标打印机支持的纸张和颜色选项:
lpoptions -p "<printer>" -l
  1. 向用户确认设置。推荐问法:
准备打印 <file> 到 <printer>。纸张用 A4、黑白打印,可以吗?

如果用户要改,接受常见值:

用户说法CUPS 常用值
A4A4
A5A5
LetterLetter
黑白 / 灰度Gray 或 monochrome
彩色RGB 或 color
  1. 提交打印任务。

优先使用通用 CUPS 选项:

lp -d "<printer>" -o media=A4 -o ColorModel=Gray "<file>"

如果打印机不支持 ColorModel=Gray,根据 lpoptions -p "<printer>" -l 的输出改用实际选项,例如:

lp -d "<printer>" -o media=A4 -o print-color-mode=monochrome "<file>"
lp -d "<printer>" -o media=A4 -o cupsPrintQuality=Draft "<file>"
  1. 回报任务号并检查队列:
lpstat -W not-completed -o "<printer>"
lpstat -p "<printer>" -l

重新打印

如果用户说“再来一次/重新打印/再打一份”,先查队列:

lpstat -W not-completed -o "<printer>"
  • 如果旧任务仍在队列里,先询问是否取消旧任务,避免重复打印。
  • 如果用户明确表示旧任务失败、缺纸后重试、卡住了,取消旧任务再重新提交:
cancel "<job-id>"
lp -d "<printer>" -o media=A4 -o ColorModel=Gray "<file>"

故障处理

  • 红灯、缺纸、卡纸、缺墨等硬件状态通常只能由用户在打印机上处理;CLI 只能看到队列状态。
  • lpstat 显示任务一直在 not-completed:提示用户检查纸张、卡纸、墨水、打印机电源和 USB/Wi-Fi 连接。
  • 打印机离线或暂停时,先报告状态,不要反复提交多份任务。
  • 用户补纸后要重新打:取消卡住的旧任务,再提交新任务。

常用命令速查

lpstat -d                              # 默认打印机
lpstat -e                              # 打印机名称列表
lpstat -p                              # 打印机状态
lpoptions -p "<printer>" -l            # 支持的纸张/颜色/质量选项
lp -d "<printer>" -o media=A4 -o ColorModel=Gray "<file>"
lpstat -W not-completed -o "<printer>" # 未完成任务
cancel "<job-id>"                      # 取消任务

コメント