自定义的数据流压缩

重要

新式打印平台是 Windows 与打印机通信的首选方式。 建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) 来自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

有关详细信息,请参阅新式打印平台打印支持应用设计指南

Unidrv 允许使用自定义代码来执行数据压缩操作。 要执行自定义压缩操作,请执行以下步骤:

  1. 提供一个实现 IPrintOemUni::Compression 方法的呈现插件。

  2. 在打印机的 GPD 文件中加入 CmdEnableOEMComp 命令条目。

IPrintOemUni::Compression 方法接收扫描行数据作为输入。 该方法必须压缩数据,然后将结果返回 Unidrv。 CmdEnableOEMComp 命令条目指定必须发送给打印机的命令,以便打印机接受压缩数据。 对于要发送到打印机的每个扫描行,Unidrv 都会调用 IPrintOemUni::Compression 来压缩扫描行数据。 然后,如果这是唯一可用的压缩方法,Unidrv 将向打印机发送 CmdEnableOEMComp 命令条目指定的命令,然后发送压缩数据。

如果打印机微型驱动程序包含同时启用 Unidrv 支持的压缩方法的 GPD 条目,则 Unidrv 会对每个扫描行尝试每种压缩算法,并选择产生最佳结果的算法。 有关 Unidrv 压缩功能的详细信息,请参阅压缩栅格数据

一次只能启用一种自定义压缩方法。