【问题标题】:Win API (printers) - winspool.hWin API(打印机)-winspool.h
【发布时间】:2012-08-14 21:02:34
【问题描述】:

我正在使用 win api 和 winspool.h 中的一些函数来处理我的打印机。 OpenPrinter/StartDoc/等函数...

我可以打印,一切看起来都很好。唯一的问题,或我无法解决的问题是关于边距。 我的打印机似乎添加了一些奇怪的底部边距,并且一些接近底部的图像/文本被切断了。 我想删除这个边距,我可以从其他程序中使用打印设置来删除它们。 但我无法从我的代码中找到如何做到这一点。比如:

dc->margin = ▭

or:
dc->margin->bottom_margin = 0;

有什么想法吗?

【问题讨论】:

  • 大多数打印机无法打印到纸张的最边缘,并且顶部和底部的边距通常较大(在进纸方向上)。您可以打印到的区域称为printable area。您是否尝试过在另一个应用程序中将边距设置为零并打印一些东西?您的应用程序无法打印的区域是否出现任何内容?

标签: visual-studio-2010 visual-studio winapi visual-c++ printing


【解决方案1】:

您可以获得打印机边距。寻找 PHYSICALOFFSETX 和 PHYSICALOFFSETY。 通常人们会得到它,然后在他们从利润中减去他们需要的东西之后。

但是打印图片的窗口程序可以打印没有任何边距。 我找不到它是如何做到的信息。我认为这是未记录的功能。

【讨论】:

    猜你喜欢
    • 2014-12-23
    • 1970-01-01
    • 2018-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    相关资源
    最近更新 更多