主控单元

重要

建议使用 Microsoft 的 IPP 收件箱类驱动程序以及打印支持应用 (PSA) ,自定义 Windows 10 和 11 中的打印体验,以便进行打印机设备开发。

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

大多数打印机支持具有各种水平和垂直分辨率的命令。 例如,特定打印机的“即时换行”命令可能提供 1/288 英寸的分辨率,而同一打印机可能支持 1/96 英寸的垂直图形分辨率。 同样,此打印机还可以提供 1/80、1/160 和 1/320 英寸的水平分辨率。

Unidrv 提供单个坐标系来处理这些不同的分辨率。 此坐标系中的单位称为主单位。 打印机的主控单元表示为 (xy) 值对,其中 x 是水平方向的主单位, y 是垂直方向的主控单位。

若要确定平面的主单位,请计算实际分辨率的分母) 最不常见的多个 (LCM。 使用示例打印机,可执行以下操作:

  • 计算 80、160 和 320 的 LCM,即 320。 因此,水平主单元为 1/320 英寸。

  • 计算 288 和 96 的 LCM,即 576。 因此,垂直主单元为 1/576 英寸。

重要

主控单元值和垂直和水平分辨率都应是打印头中引脚数的倍数 (即 PinsPerPhysPass 值) 。 如果不满足此条件,可能会为某些纸张大小生成额外的空白行。

若要指定打印机的主控单元,请使用 *MasterUnits 属性。 特性的格式如下所示:

*MasterUnits:PAIR ( X_DenominatorY_Denominator )

其中 ,X_Denominator 是水平分辨率的分母的 LCM, Y_Denominator 是垂直分辨率的分母的 LCM。 以下 GPD 条目指定示例的主单元:

*MasterUnits: PAIR(320, 576)

通常,GPD 文件条目中使用的位置和大小值必须以主单位指定。 例如,若要指定示例打印机的最大自定义页面大小为 9 英寸 x 12 英寸,将使用以下条目,其中 9x320=2880 和 12x576=6912:

*MaxSize: PAIR(2880, 6912)

计算主单位的值时,请仅使用希望 Unidrv 支持的设备分辨率。 例如,如果打印机支持 1/80、1/96、1/160 和 1/320 英寸的水平分辨率,但不打算在 GPD 文件中指定 1/96 英寸分辨率,请不要将其包含在 LCM 计算中。

如果打印机支持 光标命令 来移动光标位置,则为 *XMoveUnit 和 *YMoveUnit游标属性 指定的值必须包含在主单位计算中。 例如,假设 GPD 文件包含以下条目:

*XMoveUnit: 60
*YMoveUnit: 60

计算此打印机的主单元时,水平和垂直主控单元计算中必须包含 1/60 英寸。