使用通用postscript驱动程序的QPrinter :: PdfFormat到打印机

时间:2016-11-24 10:34:28

标签: qt pdf printing postscript cups

我的打印机是在带有CUPS的Linux环境中使用通用postscript驱动程序设置的。我有一个使用Qt 4.8.7 QPrinter进行打印的应用程序。如果将输出格式设置为QPrinter :: PdfFormat,实际发生了什么?

  1. QPrinter意识到目标打印机无论如何都是一个postscript打印机和输出postscript。
  2. CUPS正在将文档从pdf转换为postscript,然后再将其发送到打印机。
  3. 文档以pdf形式发送到打印机,它恰好支持它。使用不支持pdf的另一个做同样的事情是行不通的。
  4. 其他(那么请解释一下:)
  5. 更新: 我使用CUPS v.1.6.3

1 个答案:

答案 0 :(得分:1)

在某种程度上,这取决于您安装的CUPS版本。我相信CUPS的最近的版本使用PDF作为其内部格式,因此当您打印文件时,它会转换为PDF或保存为PDF,然后以这种方式传递给CUPS管道。

处理发生在PDF文件上,我不知道是否涉及转换为其他格式,但我想它可能(例如N-Up转换)。

最后,PDF到达实际打印点,此时需要将其转换(或渲染)成打印机可以理解的内容。 CUPS需要知道设备支持的页面描述语言,我不能告诉你它是如何知道的,大概是某处有一些配置。

如果它知道您的打印机支持PDF,那么我相信PDF将会传送到打印机。如果它理解PostScript,那么它将被转换为PostScript并将被传送到打印机。其他格式将需要其他打印机驱动程序。

因此,简而言之,它取决于您安装的CUPS版本以及管道的配置方式。我似乎记得你可以从CUPS中获取这些信息,但我不记得该怎么做,我很害怕。

希望有更好CUPS经验的人可以告诉您更多,或者如何发现您拥有的过滤器设置。浏览他们所做的手册页似乎与我思考 CUPS目前的工作方式有点过时。