使用 Unidrv 支持的压缩
重要
新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。
有关详细信息,请参阅新式打印平台和打印支持应用设计指南。
如果在 GPD 文件中包含 CmdEnableTIFF4 命令条目,则 Unidrv 将使用 TIFF 4.0 压缩。
如果在 GPD 文件中包含 CmdEnableDRC 命令条目,则 Unidrv 将使用 DRC 压缩。
如果在 GPD 文件中包含 CmdEnableFE_RLE 命令条目,则 Unidrv 将使用 FE-RLE 压缩。
如果打印机支持多种压缩方法,则可以为每种支持的方法添加一个命令条目。 对于每个扫描行,Unidrv 会尝试每个压缩算法,并选择生成压缩效果最大的算法。 (也可以加入自定义算法。请参阅使用自定义压缩。)在 Unidrv 找到最佳算法后,它就会对扫描行数据进行压缩。 然后,它会向打印机发送由相应命令条目指定的命令,后跟压缩的数据。
如果指定了 CmdDisableCompression 命令条目,那么无论可用的压缩方法是什么,Unidrv 在遇到比压缩形式小的未压缩数据块时,都会暂时禁止发送压缩数据。
为了限制不必要的计算,如果压缩方法不太可能产生可用的结果,请不要启用该方法(通过指定其命令条目)。
对于大多数打印机,可以通过在数据块外发送命令字符串来启用或禁用接受压缩数据的功能。 为这些打印机指定 CmdEnableTIFF4、CmdEnableDRC、CmdEnableFE_RLE 和 CmdDisableCompression 条目时,会包含一个命令字符串。
对于某些打印机(通常是东亚的打印机),压缩选择命令会被嵌入到随 CmdSendBlockData 命令发送的光栅数据中。 在为这些打印机指定 CmdEnableTIFF4、CmdEnableDRC 或 CmdEnableFE_RLE 条目时,请不要包含命令字符串。 请改为指定一个空引号字符串来表示命令。 这样,Unidrv 就会使用压缩功能,但不会单独发送启用压缩功能的命令。 对于这些打印机,只能使用一种压缩算法。 不需要使用 CmdDisableCompression 条目,因为在这种情况下 Unidrv 无法关闭压缩功能。
有关 CmdEnableTIFF4、CmdEnableDRC、CmdEnableFE_RLE 和 CmdDisableCompression 条目的详细信息,请参阅光栅数据压缩命令。
有关 CmdSendBlockData 的详细信息,请参阅光栅数据发射命令。