我的打印机是在带有CUPS的Linux环境中使用通用postscript驱动程序设置的。我有一个使用Qt 4.8.7 QPrinter进行打印的应用程序。如果将输出格式设置为QPrinter :: PdfFormat,实际发生了什么?
更新: 我使用CUPS v.1.6.3
答案 0 :(得分:1)
在某种程度上,这取决于您安装的CUPS版本。我相信CUPS的最近的版本使用PDF作为其内部格式,因此当您打印文件时,它会转换为PDF或保存为PDF,然后以这种方式传递给CUPS管道。
处理发生在PDF文件上,我不知道是否涉及转换为其他格式,但我想它可能(例如N-Up转换)。
最后,PDF到达实际打印点,此时需要将其转换(或渲染)成打印机可以理解的内容。 CUPS需要知道设备支持的页面描述语言,我不能告诉你它是如何知道的,大概是某处有一些配置。
如果它知道您的打印机支持PDF,那么我相信PDF将会传送到打印机。如果它理解PostScript,那么它将被转换为PostScript并将被传送到打印机。其他格式将需要其他打印机驱动程序。
因此,简而言之,它取决于您安装的CUPS版本以及管道的配置方式。我似乎记得你可以从CUPS中获取这些信息,但我不记得该怎么做,我很害怕。
希望有更好CUPS经验的人可以告诉您更多,或者如何发现您拥有的过滤器设置。浏览他们所做的手册页似乎与我思考 CUPS目前的工作方式有点过时。