自动检测 PPD 的双工单元
以下两个示例演示了 PPD 文件中描述的双工单元功能与 GDL 文件中的对应单元功能之间的一种可能映射。 第一个示例是 PPD 文件的摘录。
*OpenUI *DuplexUnit: Boolean
*DefaultDuplexUnit: True
*DuplexUnit True/Installed: ""
*DuplexUnit False/Not Installed: ""
*?DuplexUnit: "
save
currentpagedevice /Duplex known
{(True)}{(False)}ifelse = flush
restore
"
*End
*CloseUI: *DuplexUnit
下一个示例是 GDL 文件的摘录,其中显示了与上一示例中双工单元功能对应的 DuplexUnit 功能定义。
*Feature: DuplexUnit
{
*FeatureType: PRINTER_PROPERTY
*% *BidiQuery and *BidiResponse constructs must have the same names
*BidiQuery: DuplexUnit
{
*QueryString: "\Printer.Configuration.DuplexUnit:Installed"
}
*BidiResponse: DuplexUnit
{
*ResponseType: BIDI_BOOL
*ResponseData: ENUM_OPTION (DuplexUnit)
}
*Option: False
{
*BidiValue: BOOL(FALSE)
}
*Option: True
{
*BidiValue: BOOL(TRUE)
}
}