首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linux上的打印: CUPS、PPD、打印对话框和打印选项

Linux上的打印: CUPS、PPD、打印对话框和打印选项
EN

Unix & Linux用户
提问于 2016-11-13 01:32:50
回答 1查看 1.8K关注 0票数 3

好的。因此,我理解CUPS作为打印假脱机器工作,管理打印作业并将它们发送到打印机。我还理解PPD文件描述了打印机的功能集,CUPS使用这些特性和过滤器与打印机进行接口,从而生成打印机可以用来打印文档的输出( PostScript、PCL或打印机所需的任何专有格式)。但我对这件事的几个方面感到困惑。主要是:

  • 应用程序如何将打印作业发送到CUPS?
  • 应用程序如何获得选择的打印机的打印选项?这些是否来自PPD文件或CUPS用于打印机的过滤器?
  • 当打印机在IPP上由CUPS共享时,这是如何工作的?是由设备向CUPS发送打印作业,还是由CUPS服务器执行本地处理?如果CUPS做到了,这是否意味着本地设备需要PPD文件来获取打印选项,或者CUPS是否将其发送到本地设备?
  • 据我所知,任何linux计算机都可能在本地使用CUPS进行打印,因此如何在打印选项和将打印作业处理为PostScript/PCL等方面进行工作。

谢谢你帮我澄清我的困惑。

EN

回答 1

Unix & Linux用户

发布于 2018-04-07 20:42:21

有许多方法可以将打印作业发送到CUPS:

  • 如果进程是传统的Unix程序,本地进程可能只是将ASCII文本或PostScript输送到CUPS的lplpr命令的实现中进行打印。
  • 或者,如果CUPS启用了LPD兼容性,则可能在localhost上的端口515/TCP中使用LPD打印协议。
  • 或者它可以通过localhost端口631讨论IPP。
  • 或者它可能使用CUPS的客户端库(libcups.so)来支持完整的本机CUPS。

如果使用lplpr命令,则必须使用命令行选项指定任何作业选项,而且不存在自动发现受支持选项的传统方法;使用此遗留Unix接口的任何程序通常都允许用户编辑打印命令行以设置所需的任何选项。CUPS还包括一个文件格式自动检测(类似于file命令),这样您就可以在理论上使用lp something.png,如果CUPS有PNG格式转换器,就可以以某种合理的方式打印图像。

IPP的CUPS实现包括一些协议扩展,允许客户端查询和设置打印机和作业选项,甚至请求PPD内容。

IPP协议本身包括内容协商,很像HTTP:服务器指定它可以接受的打印作业格式为MIME类型,客户机声明它将要发送的数据格式。如果服务器不支持特定的作业格式,则可以拒绝作业。还可以将"application/vnd.cups-raw“指定为作业格式,以指示作业应该按照-不进行任何转换的方式传递给打印机: CUPS管理员可以选择允许或不允许这样做。

一般来说,CUPS服务器有一系列作业格式转换器,可用于将各种文件类型转换为某种标准的“排队作业格式”,并从那里转换到打印机正在接受的任何文件(例如PCL、PostScript或一种更专有的格式)。“排队作业格式”以前是PostScript,但现在在CUPS的现代版本中是PDF格式。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/322898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档