I am trying to print (using a printer, on paper, not on a screen) lines and text, using the the function DrawEdge and DrawText ( http://msdn.microsoft.com/en-us/library/ms534882.aspx and http://msdn.microsoft.com/en-us/library/ms533909.aspx ). They work quite fine, however, when I try to reach the bottom of my paper (about 35 milimeter away from it) the line simply stops being drawn. I thought this was a limit of my printer. However, when I draw text, my printer has no trouble printing there and even lower. Is there a way for DrawEdge to draw lines there? Is there another method to do this? Is this a bug?
I can think of a few reasons:
You have a clipping region set when you're drawing the edge that's set differently when you're drawing text.
The clipping region is set, but the printer isn't consistently clipping the text. Some printers will print an entire character even if only part of it is inside the clipping region. You can check its text clipping abilities by using GetDeviceCaps
with TEXTCAPS
. If this is the case, the text printing right near the bottom of the clipping region might show but other types of graphics (like lines) will get clipped.
You're mistaken about the printable region of the page. What type of printer is this? Many printers cannot print within 35 mm of the bottom edge. What does the driver report as the printable region? (Use GetDeviceCaps
with PHYSICALOFFSETY
and PHYSICALHEIGHT
to determine how low on the page you can actually print.)
Good luck!
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.