Re: How to print in full page without margins
- From: SharpCoderMP <csharp_mp@xxxxxxxxxxxxxxxx>
- Date: Mon, 08 Aug 2005 10:38:27 +0200
how big is the difference between the size you get from code and the actual printed one?
Judge wrote:
Hi Ron,
I found a great set of codes and article that you post in the other forum for getting the printer's hard margin throught GetDeviceCaps.
I was able to retrieve the correct hard margins through GetDeviceCaps but I am unable to tell the printer to use that hard margins to draw maximum printable area. I have the following code for setting the margins.
IntPtr hDc = new IntPtr();
hDc = e.Graphics.GetHdc();
PrintUtil.GetHardMargins(hDc, ref leftHardMargin, ref topHardMargin, ref rightHardMargin, ref bottomHardMargin);
e.Graphics.ReleaseHdc(hDc);
leftMargin = Convert.ToInt32(leftHardMargin); topMargin = Convert.ToInt32(topHardMargin); rightMargin = Convert.ToInt32(rightHardMargin); bottomMargin = Convert.ToInt32(bottomHardMargin);
this.DefaultPageSettings.Margins = new Margins(leftMargin,leftMargin,topMargin,topMargin);
this.OriginAtMargins = true; Rectangle myRect = new Rectangle(leftMargin, topMargin, rightMargin, bottomMargin);
e.Graphics.DrawRectangle(Pens.Black, myRect );
The printer cuts of the right side of the rectangle box. And the printer's left offeset seems to be wider than the printer's actual printable area which I tested with left and right margin set to zero. So I can see where the printer start printing on the page.
I have tried so many ways of setting printers margins but none seems to work.
Furthermore, my way of setting margins have different effects on different printers.
Please help me figure out what is making this weird behavior.
Thanks in advance
"Ron Allen" wrote:
Most printers can't print all the way to the physical margins. You are undoubtedly seeing the physical offset for the hard margins for your page. You can PInvoke GetDeviceCaps to get the exact physical margins for the printer drawing on a page and you could then scale the drawing so that all your information will fit or just offset things if you don't need the actual whole page size.
There are some printers that can print all the way to the margins for larger paper but they tend to be very expensive.
Ron Allen
"zhaounknown" <zhaounknown@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message news:AB95B24B-D809-4833-B4E7-AC6219F114D4@xxxxxxxxxxxxxxxx
I set the DefaultPageSettings.Margins.Left/Right/Top/Bottom to 0, it doesn't
seem to work for the Left margin for two printers (HP and Brother).
Am I missing any other properties that should be set? Thanks a lot.
.
- Follow-Ups:
- Re: How to print in full page without margins
- From: Judge
- Re: How to print in full page without margins
- References:
- Re: How to print in full page without margins
- From: Judge
- Re: How to print in full page without margins
- Prev by Date: Re: How to print in full page without margins
- Next by Date: Re: How to print in full page without margins
- Previous by thread: Re: How to print in full page without margins
- Next by thread: Re: How to print in full page without margins
- Index(es):
Relevant Pages
|
Loading