gpt4 book ai didi

c++ - WINAPI 打印 - 具有相同尺寸的两种纸张类型

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:59 27 4
gpt4 key购买 nike

我在使用 WINAPI 打印时遇到问题。有这台打印机,DS40,这台打印机提供了两种不同的“纸张尺寸”(6x4"、6x4"x2),它们的尺寸完全相同,但每个都有一些不同(我认为这背后的原因很难解释这里没有必要这样做)。

对于打印,我使用的是 Qt Framework,它使用 GDI Print API。但是,无论我选择哪种纸张变体都没有关系,它始终使用相同的变体。

在查看Qt 的源代码时,我发现它通过以下结构传递纸张大小:https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565%28v=vs.85%29.aspx , 即成员 dmPaperWidth 和 dmPaperLength。

现在,我如何区分这两种纸张尺寸变体?

最佳答案

DEVMODE structure 的文档中所述:

dmPaperWidth/dmPaperLength 覆盖 dmPaperSize

要选择特定的 dmPaperSize(例如 A4、Letter、Legal 等),请使用以下设置:

  • dmFields |= DM_PAPERSIZE
  • dmPaperSize = papersize_index

  • 不要在 dmFields 标志中使用 DM_PAPERWIDTHDM_PAPERLENGTH

您可以使用 DeviceCapabilitiesDC_PAPERNAMES 获取当前打印机支持的纸张尺寸列表。

关于c++ - WINAPI 打印 - 具有相同尺寸的两种纸张类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36477387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com