我正在尝试使用DrawEdge和DrawText(http://msdn.microsoft.com/en-us/library/ms534882.aspx和http://msdn.microsoft.com/en-us/library/ms533909.aspx功能打印(使用打印机,在纸上,而不是在屏幕上)行和文本。它们工作得非常好,但是,当我试图到达纸张的底部(离它约35毫米)时,线条就会停止被拉伸。我认为这是我的打印机的限制。但是,当我绘制文本时,我的打印机在那里打印没有问题,甚至更低。 DrawEdge有没有办法在那里划线?有没有其他方法可以做到这一点?这是一个错误吗?
答案 0 :(得分:1)
我可以想到几个原因:
当您绘制边缘时,您绘制文本时设置的剪裁区域设置不同。
剪裁区域已设置,但打印机未始终剪切文本。某些打印机将打印整个字符,即使其中只有一部分位于裁剪区域内。您可以使用GetDeviceCaps
与TEXTCAPS
一起检查其文字剪辑功能。如果是这种情况,可能会显示剪裁区域底部附近的文本打印,但其他类型的图形(如线条)将被剪裁。
您错误地了解了该网页的可打印区域。这是什么类型的打印机?许多打印机无法在底边35毫米内打印。驱动程序报告的可打印区域是什么? (将GetDeviceCaps
与PHYSICALOFFSETY
和PHYSICALHEIGHT
一起使用,以确定您实际可以打印的页面有多低。)