自定义的数据流压缩

重要

建议使用 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 的压缩功能的详细信息,请参阅 压缩光栅数据

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