Install
openclaw skills install windows-printing在 Windows 上列出可用打印机并执行本地文件打印,支持让用户从可用打印机中选择,并配置黑白/彩色、份数、单面/双面、沿长边翻转、沿短边翻转、纸张大小。用户提到“打印”“打印机”“单面/双面”“长边翻转”“短边翻转”“A4”“黑白/彩色”“打印 PDF/文档/图片”时使用。
openclaw skills install windows-printing在 Windows 上处理本地打印任务时,优先复用本 skill,而不是每次临时拼 PowerShell。
scripts/resolve_file.ps1 查候选文件。scripts/list_printers.ps1 列出当前可用打印机,并带出默认打印机及当前配置。printer:打印机名称file:要打印的本地文件路径color_mode:keep / color / grayscalecopies:正整数duplex_mode:keep / one-sided / long-edge / short-edgepaper_size:如 A4 / A3 / Letterscripts/print_file.ps1 -WhatIfOnly 生成“将要提交”的配置摘要;如果用户话里已经足够明确,可直接执行,否则先把摘要复述给用户确认。scripts/print_file.ps1 执行打印。receipt 字段作为回执来源,不要每次手工重组。receipt 字段当前由脚本稳定输出 ASCII 值(如 grayscale、one-sided、submitted-queue-empty);在对用户展示时,再翻译成自然中文回执。receipt 缺失,再按模板兜底组装回执,至少包含:文件名、打印机、颜色、份数、单双面/翻转、纸张、队列状态、是否有错误。resolve_file.ps1 在桌面、文档、下载目录中找候选;唯一高置信命中时可直接复述确认,多命中时必须让用户选。keep,保持当前打印机配置,不要擅自改。1。keep;但如果用户明确说“单面/双面”,必须显式设置。long-edge,并在回复里点明是“沿长边翻转”。把用户语言映射到脚本参数:
grayscalecolorone-sidedlong-edgeshort-edge把脚本参数映射到 Windows 打印配置:
one-sided → OneSidedlong-edge → TwoSidedLongEdgeshort-edge → TwoSidedShortEdgecolor → Color=$truegrayscale → Color=$false解析模糊文件名:
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\resolve_file.ps1" -Query "测试.pdf"
列出打印机:
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\list_printers.ps1"
打印前预演:
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\print_file.ps1" \
-FilePath "D:\path\file.pdf" \
-PrinterName "打印机 1" \
-ColorMode grayscale \
-Copies 2 \
-DuplexMode one-sided \
-PaperSize A4 \
-WhatIfOnly
正式打印:
powershell -ExecutionPolicy Bypass -File "<skill-dir>\scripts\print_file.ps1" \
-FilePath "D:\path\file.pdf" \
-PrinterName "打印机 1" \
-ColorMode grayscale \
-Copies 2 \
-DuplexMode one-sided \
-PaperSize A4
正式提交前,优先用这种简洁格式复述:
测试.pdf打印机 1如果用户直接回复“确认 / 打 / 可以”,再执行正式打印。
正式打印后,优先按这个结构回报:
测试.pdf打印机 1脚本输出中的 receipt 字段应作为首选回执来源,建议直接读取其字段:
titlefileNameprintercolorcopiesduplexpaperSizequeueStatusresulterrorSummary(有错误时)如果脚本返回 errors 非空:
如果脚本返回 queueCount = 0:
PDF;对其它格式依赖系统默认关联程序是否支持静默打印。Set-PrintConfiguration 会修改打印机当前配置;脚本会尽量恢复原配置,但如果关联程序长期占用或驱动异常,恢复可能失败,要把这一点说清楚。-WhatIfOnly 不会真正打印,只用于生成预演配置,适合打印前确认。PrintTo。