Printer

🖨️ CUPS智能打印,PPD感知精准输出

对接CUPS打印系统,支持PDF直送与图片智能转换,自动读取PPD配置实现专业级输出控制

收藏
4.4k
安装
1.2k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

Printer skill 是面向CUPS(Common UNIX Printing System)的桥接工具,支持在macOS/Linux环境下直接调用本地打印机完成文档输出。核心工作流分为三类:

设备发现与管理:通过list命令枚举可用打印机队列,识别系统默认打印机及状态;infooptions命令深度解析PPD(PostScript Printer Description)文件,提取厂商型号、物理分辨率、色彩模式、进纸盒配置、支持纸张规格及可打印边距等元数据。

智能打印引擎

  • PDF文档采用零转换直送策略,保留原始矢量质量并正确传递duplex双面、媒体类型等作业参数
  • 图片格式(PNG/JPG/GIF/BMP/TIFF/WebP)经由Pillow库处理,按打印机原生DPI栅格化,自动居中适配可打印区域后封装为PDF投递,避免驱动端降质缩放

自动化与集成:所有命令支持--json结构化输出,便于CI/CD流水线或自动化脚本集成;--printer参数覆盖默认队列,适应多打印机场景。

显著优点

  • PPD感知:运行时动态查询打印机能力,而非依赖硬编码配置,确保设置与物理设备严格一致
  • 零配置体验:自动识别系统默认打印机,开箱即用
  • 跨格式统一:图片自动转换PDF,消除格式碎片化带来的驱动兼容性风险
  • 开源可审计:基于Python/Pillow实现,逻辑透明,无闭源二进制依赖

潜在局限

  • 平台绑定:依赖CUPS生态,Windows原生打印子系统不支持;WSL需额外配置打印机共享
  • 依赖链较长:需预装CUPS工具链(lp/lpstat/lpoptions)及Python Pillow库,容器化场景需定制镜像
  • 功能边界:不涉及打印作业队列管理(取消/暂停)、耗材监控或云端打印服务对接
  • 安全风险:处理用户文件路径及系统命令拼接,虽采用uv run隔离但仍需警惕路径注入

适合人群

  • 开发运维工程师:需要将文档输出集成至自动化工作流
  • 设计师/出版从业者:追求打印设置与物理设备规格精确匹配
  • 轻量级办公场景:macOS/Linux桌面用户替代图形界面打印对话框

常规风险

  • 命令注入:若用户可控路径未做严格校验,可能通过--printer参数或文件路径影响系统命令
  • PPD解析失败:老旧/非标准PPD文件可能导致媒体尺寸或边距识别异常,引发输出偏移
  • 临时文件残留:图片转换过程产生中间PDF,异常中断时可能遗留于临时目录

Printer 内容

scripts文件夹
手动下载zip · 7.5 kB
print.pytext/plain
请选择文件