打印彩色激光,无需从 ubuntu 转换后记



编写需要将 pdf 发送到激光打印机的应用程序。 PDF中有大量的大型想象。 使用杯子PS驱动程序需要8分钟。 使用cups gutenprint驱动程序可以完美地工作,并且需要50秒 - 但似乎只支持灰度。

所以,尝试直接打到打印机上。 使用

ippTool -tv -f myfile.pdf ipp://address printfile.ipp

其中该文件包含应用程序/pdf的ATTR mimeMediaType - 以及一堆其他设置,如语言。 这一切都可以进入打印机,但我们只是得到以pdf签名开头的页面 - 所以它只是将文档作为文本阅读。

任何想法如何快速将此文档发送到打印机? 在窗口下使用 pcl6 驱动程序 - 文档需要 2 分钟才能打印出来。 打印机为理光SP C250DN。

打印机不支持直接PDF打印,这就是为什么直接向其发送PDF文件不起作用的原因。在没有指令的情况下,打印机假定发送的内容是 PCL 并指定了 PCL,因此,如果您向其发送文本,它只会打印它。PDF 文件看起来足够像文本,可以发生这种情况。

因此,您需要创建PDF文件的PostScript或PCL表示形式(因为这是打印机支持的(。我的猜测是,CUPS正在将其转换为PostScript以获得最佳质量的输出,使用Ghostscript来完成工作。这意味着所有的图像数据都被解压缩,然后重新压缩到PostScript中,这可能是时间所在。

您可以尝试使用生成 PXL 输出的 Ghostscript pxlcolor 设备,或者您可以尝试使用多种 PCL6 设备之一来生成 PCL 输出,看看它是否更快以及您的打印机是否喜欢它。

您也可以尝试使用ps2write设备来制作PostScript并尝试一下。您的设置可能使用的是足够旧版本的Ghostscript/CUPS,而不是使用旧的pswrite设备,该设备会产生巨大而缓慢的PostScript,需要很长时间才能发送到打印机,并且需要很长时间才能打印。

在上述情况下,只需使用类似以下内容:

gs -sDEVICE=ps2write -o out.ps

然后使用 ipptool 将生成的 out.ps 文件发送到打印机。注意,您可能需要在文件前面加上一些 PJL 以将语言切换到 PostScript,并使用正确的终止符代码对其进行后缀。

您可以对 PXL/PCL 输出文件执行相同的操作,但您不需要将 PJL 包裹在那里。

请注意,如果您正在编写应用程序,则需要小心使用 Ghostscript,因为它包含在 AGPL 中。但是,如果你能找到一种方法来使它被接受地工作,你应该能够配置CUP来做同样的事情,而不是它当前所做的任何事情。

最新更新