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