OpenPrinting/cups

GitHub: OpenPrinting/cups

OpenPrinting CUPS 是适用于 Linux 和 Unix 操作系统的标准开源打印系统,支持 AirPrint 和 IPP Everywhere 协议。

Stars: 1568 | Forks: 281

# OpenPrinting CUPS v2.5b1 ![Version](https://img.shields.io/github/v/release/openprinting/cups?include_prereleases) ![Apache 2.0](https://img.shields.io/github/license/openprinting/cups) [![Build and Test](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/abf1853d7e205051.svg)](https://github.com/OpenPrinting/cups/actions/workflows/build.yml) [![Coverity Scan](https://img.shields.io/coverity/scan/23806)](https://scan.coverity.com/projects/openprinting-cups) ## 简介 OpenPrinting CUPS 是 CUPS 的最新版本,它是一个基于标准的开源打印系统,适用于 Linux® 和其他类 Unix® 操作系统。CUPS 支持打印到: - [AirPrint™][1] 和 [IPP Everywhere™][2] 打印机, - 使用打印机应用程序的网络和本地 (USB) 打印机,以及 - 使用(传统)基于 PPD 的打印机驱动程序的网络和本地 (USB) 打印机。 CUPS 提供了 System V ("lp") 和 Berkeley ("lpr") 命令行界面、可配置的 Web 界面、C API,以及用于打印的通用过滤器、驱动程序和后端。[cups-filters][3] 项目提供了额外的过滤器和驱动程序。 CUPS 根据 Apache License Version 2.0 许可,附带一项允许链接到仅限 GNU GPL2 软件的例外条款。有关更多信息,请参阅 `LICENSE` 和 `NOTICE` 文件。 ## 阅读文档 CUPS 源代码的根目录中提供了入门所需的初始文档: - `CHANGES.md`: CUPS 当前主要版本的更改列表。 - `CONTRIBUTING.md`: 为 CUPS 项目做贡献的指南。 - `CREDITS.md`: CUPS 项目过去的贡献者列表。 - `DEVELOPING.md`: 为 CUPS 项目开发代码的指南。 - `INSTALL.md`: 构建和安装 CUPS 的说明。 - `LICENSE`: CUPS 许可协议 (Apache 2.0)。 - `NOTICE`: 版权通知和 CUPS 许可协议的例外条款。 - `README.md`: 本文件。 - `REPORTING_ISSUES.md`: 报告问题时需提供哪些信息的说明。 安装软件后,您可以在线访问文档(以及其他许多内容),地址为 ,也可以使用 `man` 命令,例如 `man cups`。 如果您在进行到这一步时遇到困难,文档位于 `doc/help` 和 `man` 目录下。 *请在提问之前阅读文档。* ## 设置打印机 CUPS 包含一个基于 Web 的管理工具,允许您管理服务器上的打印机、类和作业。在浏览器中打开 即可访问打印机管理工具。执行任何管理功能时,系统会要求您输入管理密码(您系统上的 root 或 "sys"、"system"、"root"、"admin" 或 "lpadmin" 组中的任何其他用户)。 `lpadmin` 命令用于从命令行管理打印机。例如,以下命令为地址 "11.22.33.44" 处的 IPP Everywhere 打印机创建一个名为 "myprinter" 的打印队列: ``` lpadmin -p myprinter -E -v "ipp://11.22.33.44/ipp/print" -m everywhere ``` `-p` 选项指定打印机名称。`-E` 选项启用打印机并立即接受新的打印作业。`-v` 选项指定打印机的 *设备 URI*,它告诉 CUPS 如何与打印机通信。`-m` 选项指定要使用的型号(驱动程序),在本例中为 IPP Everywhere ("everywhere") 驱动程序,该驱动程序用于 AirPrint 和 IPP Everywhere 打印机,以及共享打印机和通过打印机应用程序支持的打印机。 传统打印机通过 PPD(PostScript 打印机描述)文件获得支持,这些文件描述了每台打印机所需的打印机功能和驱动程序。CUPS 包含了几个用于常见传统打印机的示例 PPD 文件: 驱动程序 | PPD 名称 -----------------------------|------------------------------ Dymo 标签打印机 | drv:///sample.drv/dymo.ppd Intellitech Intellibar | drv:///sample.drv/intelbar.ppd EPSON 9 针系列 | drv:///sample.drv/epson9.ppd EPSON 24 针系列 | drv:///sample.drv/epson24.ppd 通用 PCL 激光打印机 | drv:///sample.drv/generpcl.ppd 通用 PostScript 打印机 | drv:///sample.drv/generic.ppd HP DeskJet 系列 | drv:///sample.drv/deskjet.ppd HP LaserJet 系列 | drv:///sample.drv/laserjet.ppd OKIDATA 9 针系列 | drv:///sample.drv/okidata9.ppd OKIDATA 24 针系列 | drv:///sample.drv/okidat24.ppd Zebra CPCL 标签打印机 | drv:///sample.drv/zebracpl.ppd Zebra EPL1 标签打印机 | drv:///sample.drv/zebraep1.ppd Zebra EPL2 标签打印机 | drv:///sample.drv/zebraep2.ppd Zebra ZPL 标签打印机 | drv:///sample.drv/zebra.ppd 示例驱动程序提供基本的打印功能,但通常无法发挥打印机或 CUPS 的全部潜力。其他驱动程序提供更强大的打印功能。 您可以运行 `lpinfo -m` 命令列出所有可用的驱动程序: ``` lpinfo -m ``` 同样,`lpinfo -v` 命令列出可用的打印机及其设备 URI: ``` lpinfo -v ``` 一旦知道了设备 URI 和驱动程序名称,请使用 `lpadmin` 命令添加打印机: ``` lpadmin -p PRINTER-NAME -E -v "DEVICE-URI" -m DRIVER-NAME ``` ## 打印文件 CUPS 提供了用于打印的 System V `lp` 和 Berkeley `lpr` 命令: ``` lp FILENAME lpr FILENAME ``` `lp` 和 `lpr` 命令都支持打印选项: ``` lp -o media=A4 -o resolution=600dpi FILENAME lpr -o media=A4 -o resolution=600dpi FILENAME ``` CUPS 可以识别多种类型的图像文件以及 PDF、PostScript 和文本文件,因此您可以直接打印这些文件,而无需通过应用程序。 如果您有一个专门为您的打印机生成输出内容的应用程序,则需要使用 `-oraw` 或 `-l` 选项: ``` lp -o raw FILENAME lpr -l FILENAME ``` 这将防止过滤器错误地解释您的打印文件。 ## 贡献代码和翻译 代码贡献应在 Github 网站上作为 pull requests(拉取请求)提交: ``` http://github.com/OpenPrinting/cups/pulls ``` 详情请参阅 "CONTRIBUTING.md" 文件。 CUPS 使用 [Weblate][WL] 来管理 Web 界面、命令行程序以及常见 IPP 属性和值的本地化,这些同样会作为 Github 上的 pull requests 出现。 ## 法律信息 Copyright © 2020-2025 by OpenPrinting Copyright © 2007-2020 by Apple Inc. Copyright © 1997-2007 by Easy Software Products. CUPS 是根据 Apache License Version 2.0 提供的,其中包含针对 GPL2/LGPL2 软件的例外条款。此许可证的副本可以在 `LICENSE` 文件中找到。`NOTICE` 文件中提供了其他法律信息。 除非适用法律要求或以书面形式同意,否则根据本许可分发的软件是按“原样”基础分发的,不附带任何明示或暗示的担保或条件。有关许可下的权限和限制的具体语言,请参阅许可协议。
标签:AirPrint, Apache 2.0, Awesome, Berkeley, C API, CUPS, cups-filters, Cutter, IPP, IPP Everywhere, OpenPrinting, PPD, System V, Unix, USB打印, Web界面, 后端, 开源, 打印机驱动, 打印系统, 打印过滤器, 数字足迹, 系统管理, 网络打印