我正在开发自定义打印机V3驱动程序。 当前的任务是赋予用户创建自定义纸张尺寸的能力。我稍微谷歌了一下,找到了两种方法:
1)GPD文件中的CUSTOMSIZE选项。 我已将此添加到我的GPD文件中:
*Option: CUSTOMSIZE
{
*rcNameID: =USER_DEFINED_SIZE_DISPLAY
*MinSize: PAIR(4724, 6992)
*MaxSize: PAIR(14032, 20410)
*MaxPrintableWidth: 14032
*MinLeftMargin: 0
*CenterPrintable?: FALSE
*Command: CmdSelect
{
*Order: PAGE_SETUP.2
*Cmd: ""
}
}
,但无法找到它在UI中的显示位置。
2)我也发现有些打印机有自定义对话框,可以创建自定义纸张尺寸。 例如:
是否可以为V3打印机驱动程序创建?如果是,那么如何?
提前致谢!
答案 0 :(得分:1)
是的。两种方式都可以。要在V4和V3打印机驱动程序模型中使用自定义(供应商定义或用户定义)的纸张尺寸(非标准纸张尺寸),可以浏览以下链接,但需要开发一些代码:
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/unidrv-minidrivers
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/printer-features
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/customized-features
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/customized-options
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/specifying-paper-sizes
https://docs.microsoft.com/en-us/windows-hardware/drivers/print/supporting-user-defined-paper-sizes
在V4打印驱动程序模型中,更改.gpd文件会破坏驱动程序包的符号,并且您将很难在Windows Driver Repository中安装更改后的驱动程序包。如果您不开发自己的驱动程序,则必须重新签名该驱动程序包,它看起来并不像听起来那样简单。
第二种方法实际上是由驱动程序供应商或开发人员使用第一种方法提供的。它们在驱动程序的.gpd文件中包含一些基于GDL模式的描述,以允许最终用户定义自己的自定义纸张尺寸。要获得清晰,直接的示例,请参见上面的最后一个链接。
答案 1 :(得分:0)
用户应在“打印服务器属性”表单中创建自定义尺寸纸张。 如果适合minsize / maxsize等,它会出现在打印机的纸张尺寸下拉列表中。