我正在尝试使用 win32 (winspool) API 确定打印机支持的实际介质尺寸(Letter、A4 等)。根据文档,EnumForms
枚举打印机支持的格式(介质尺寸),但对于所有打印机,它返回计算机上注册的所有格式。
DeviceCapabilities
可以返回与媒体尺寸相关的三条不同信息:
DC_PAPERNAMES
返回打印机支持的所有介质尺寸的名称,但这些名称与 返回的表单名称不匹配。此外,表单名称始终为英文,因此与其他语言返回的表单EnumForms
名称完全不匹配。DC_PAPERNAMES
DC_PAPERSIZE
返回打印机支持的所有介质的尺寸,但这些尺寸与 返回的表单中的尺寸并不完全匹配EnumForms
。此外,没有边距信息。
DC_PAPERS
返回每个受支持的介质尺寸的 Windows dmPaperSize 值。但是,似乎没有任何方法可以确定相应的格式。
我如何获得实际支持的媒体尺寸(如 form_info_X)值?