|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
How to change printer's physical print margins thru VB coding?Hi,
I am creating application in VB 2005. and when I print report it adds extra 0.45 cm margin on left and top, and the reason for this is physical margins of printer. Is it possible to change printer's physical margins using VB coding? Cheers -- Osmotion Blue You can use the margin property of
PrintDocument.DefaultPageSettings PrintDocument.DefaultPageSettings.Margins.Top = ... (hundredths of an inch) PrintDocument.DefaultPageSettings.Margins.Bottom = ... PrintDocument.DefaultPageSettings.Margins.Left = ... PrintDocument.DefaultPageSettings.Margins.Right = ... (Imports System.Drawing.Printing) http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx -tom Mark ha scritto: Show quoteHide quote > Hi, > I am creating application in VB 2005. and when I print report it adds extra > 0.45 cm margin on left and top, and the reason for this is physical margins > of printer. > > Is it possible to change printer's physical margins using VB coding? > > Cheers > -- > Osmotion Blue Hi Tom,
Thanks for reply Using the code u sent sets the margins that we can see in print preview but the physical margins of printer will be added to this margins. So I need to change printer's physical margins by VB coding. Another problem is that I am creating PrintDocument object but I am using report viewer's print button to display print dialogue. I do not have any idea how to handle this type of situation. Any idea? -- Show quoteHide quoteOsmotion Blue "tommaso.gasta***@uniroma1.it" wrote: > You can use the margin property of > > PrintDocument.DefaultPageSettings > > PrintDocument.DefaultPageSettings.Margins.Top = ... > (hundredths of an inch) > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > PrintDocument.DefaultPageSettings.Margins.Left = ... > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > (Imports System.Drawing.Printing) > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > -tom > > Mark ha scritto: > > > Hi, > > I am creating application in VB 2005. and when I print report it adds extra > > 0.45 cm margin on left and top, and the reason for this is physical margins > > of printer. > > > > Is it possible to change printer's physical margins using VB coding? > > > > Cheers > > -- > > Osmotion Blue > > Mark ha scritto:
> Hi Tom, make sure to set the also the right page size. There is no such a thing> Thanks for reply > Using the code u sent sets the margins that we can see in print preview but > the physical margins of printer will be added to this margins. So I need to > change printer's physical margins by VB coding. like "margins are added". > Never used report viewer. Be more specific: someone else may help you> Another problem is that I am creating PrintDocument object but I am using > report viewer's print button to display print dialogue. I do not have any > idea how to handle this type of situation. Show quoteHide quote > > Any idea? > > -- > Osmotion Blue > > > "tommaso.gasta***@uniroma1.it" wrote: > > > You can use the margin property of > > > > PrintDocument.DefaultPageSettings > > > > PrintDocument.DefaultPageSettings.Margins.Top = ... > > (hundredths of an inch) > > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > > PrintDocument.DefaultPageSettings.Margins.Left = ... > > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > > > > (Imports System.Drawing.Printing) > > > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > > > -tom > > > > Mark ha scritto: > > > > > Hi, > > > I am creating application in VB 2005. and when I print report it adds extra > > > 0.45 cm margin on left and top, and the reason for this is physical margins > > > of printer. > > > > > > Is it possible to change printer's physical margins using VB coding? > > > > > > Cheers > > > -- > > > Osmotion Blue > > > > Hi Tom,
If we use this code Dim p As New PrinterSettings() For Each s As String In PrinterSettings.InstalledPrinters p.PrinterName = s MsgBox(p.DefaultPageSettings.PrintableArea.ToString) Next we will get each printer's default settings. and if use p.DefaultPageSettings.Margins.ToString then this will give margins we can see in the print preview. So if printer's default physical margin is 0 then we will not get any difference between print preview and the printed page. But if printer's default left physical margin is 17 (hundredth of inch) then it will add extra 0.17 inch (0.43 cm) in addition to the left margin that we set for the report. -- Show quoteHide quoteOsmotion Blue "tommaso.gasta***@uniroma1.it" wrote: > > Mark ha scritto: > > > Hi Tom, > > Thanks for reply > > Using the code u sent sets the margins that we can see in print preview but > > the physical margins of printer will be added to this margins. So I need to > > change printer's physical margins by VB coding. > > make sure to set the also the right page size. There is no such a thing > like > "margins are added". > > > > > Another problem is that I am creating PrintDocument object but I am using > > report viewer's print button to display print dialogue. I do not have any > > idea how to handle this type of situation. > > Never used report viewer. Be more specific: someone else may help you > > > > > Any idea? > > > > -- > > Osmotion Blue > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > You can use the margin property of > > > > > > PrintDocument.DefaultPageSettings > > > > > > PrintDocument.DefaultPageSettings.Margins.Top = ... > > > (hundredths of an inch) > > > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > > > PrintDocument.DefaultPageSettings.Margins.Left = ... > > > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > > > > > > > (Imports System.Drawing.Printing) > > > > > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > > > > > -tom > > > > > > Mark ha scritto: > > > > > > > Hi, > > > > I am creating application in VB 2005. and when I print report it adds extra > > > > 0.45 cm margin on left and top, and the reason for this is physical margins > > > > of printer. > > > > > > > > Is it possible to change printer's physical margins using VB coding? > > > > > > > > Cheers > > > > -- > > > > Osmotion Blue > > > > > > > > Use a PaperSize which matches *exactly* your paper (e.g. A4 or
whatever) then set the margin to a value that includes (that is >=) the "physical" margin of the printer. Usually normal printers are not capable to use the entire surface of the sheet and leave some small margin, which I am calling "physical". Your margin must be equal or greater than that in order not to have your drawing clipped. PrintDocument.DefaultPageSettings.PaperSize = New Printing.PaperSize("Custom", 827, 1169) 'A4 'set margin so that they are at least equal to the "physical" margins of the printer [The PrintableArea property is not so important, unless you want to make an attempt to establish the size "physical" margins are. For you purposes you might disregard this detail. You can set it later, after you are already able to print fine with arbitrary margins (anyway greater than the "physical" ones)] -tom Mark ha scritto: Show quoteHide quote > Hi Tom, > If we use this code > Dim p As New PrinterSettings() > For Each s As String In PrinterSettings.InstalledPrinters > p.PrinterName = s > MsgBox(p.DefaultPageSettings.PrintableArea.ToString) > Next > we will get each printer's default settings. > > and if use > p.DefaultPageSettings.Margins.ToString > then this will give margins we can see in the print preview. > > So if printer's default physical margin is 0 then we will not get any > difference between print preview and the printed page. > > But if printer's default left physical margin is 17 (hundredth of inch) then > it will add extra 0.17 inch (0.43 cm) in addition to the left margin that we > set for the report. > > -- > Osmotion Blue > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > Mark ha scritto: > > > > > Hi Tom, > > > Thanks for reply > > > Using the code u sent sets the margins that we can see in print preview but > > > the physical margins of printer will be added to this margins. So I need to > > > change printer's physical margins by VB coding. > > > > make sure to set the also the right page size. There is no such a thing > > like > > "margins are added". > > > > > > > > Another problem is that I am creating PrintDocument object but I am using > > > report viewer's print button to display print dialogue. I do not have any > > > idea how to handle this type of situation. > > > > Never used report viewer. Be more specific: someone else may help you > > > > > > > > Any idea? > > > > > > -- > > > Osmotion Blue > > > > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > > > You can use the margin property of > > > > > > > > PrintDocument.DefaultPageSettings > > > > > > > > PrintDocument.DefaultPageSettings.Margins.Top = ... > > > > (hundredths of an inch) > > > > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > > > > PrintDocument.DefaultPageSettings.Margins.Left = ... > > > > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > > > > > > > > > > (Imports System.Drawing.Printing) > > > > > > > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > > > > > > > -tom > > > > > > > > Mark ha scritto: > > > > > > > > > Hi, > > > > > I am creating application in VB 2005. and when I print report it adds extra > > > > > 0.45 cm margin on left and top, and the reason for this is physical margins > > > > > of printer. > > > > > > > > > > Is it possible to change printer's physical margins using VB coding? > > > > > > > > > > Cheers > > > > > -- > > > > > Osmotion Blue > > > > > > > > > > > > Margins that I have set are greater than physical margins, but physical
margins are added to the margins that I have set. And other issue is that I can not use PrintDocumnet object because I am using report viewer. Any idea? Show quoteHide quote "tommaso.gasta***@uniroma1.it" wrote: > Use a PaperSize which matches *exactly* your paper (e.g. A4 or > whatever) > then set the margin to a value that includes (that is >=) the > "physical" margin > of the printer. Usually normal printers are not capable to use the > entire surface of the sheet > and leave some small margin, which I am calling "physical". Your margin > must be equal or greater than that in order not to have your drawing > clipped. > > PrintDocument.DefaultPageSettings.PaperSize = New > Printing.PaperSize("Custom", 827, 1169) 'A4 > 'set margin so that they are at least equal to the "physical" > margins of the printer > > [The PrintableArea property is not so important, unless you want to > make an attempt > to establish the size "physical" margins are. For you purposes you > might disregard this detail. > You can set it later, after you are already able to print fine with > arbitrary margins (anyway greater than the "physical" ones)] > > -tom > > > Mark ha scritto: > > > Hi Tom, > > If we use this code > > Dim p As New PrinterSettings() > > For Each s As String In PrinterSettings.InstalledPrinters > > p.PrinterName = s > > MsgBox(p.DefaultPageSettings.PrintableArea.ToString) > > Next > > we will get each printer's default settings. > > > > and if use > > p.DefaultPageSettings.Margins.ToString > > then this will give margins we can see in the print preview. > > > > So if printer's default physical margin is 0 then we will not get any > > difference between print preview and the printed page. > > > > But if printer's default left physical margin is 17 (hundredth of inch) then > > it will add extra 0.17 inch (0.43 cm) in addition to the left margin that we > > set for the report. > > > > -- > > Osmotion Blue > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > > > > Mark ha scritto: > > > > > > > Hi Tom, > > > > Thanks for reply > > > > Using the code u sent sets the margins that we can see in print preview but > > > > the physical margins of printer will be added to this margins. So I need to > > > > change printer's physical margins by VB coding. > > > > > > make sure to set the also the right page size. There is no such a thing > > > like > > > "margins are added". > > > > > > > > > > > Another problem is that I am creating PrintDocument object but I am using > > > > report viewer's print button to display print dialogue. I do not have any > > > > idea how to handle this type of situation. > > > > > > Never used report viewer. Be more specific: someone else may help you > > > > > > > > > > > Any idea? > > > > > > > > -- > > > > Osmotion Blue > > > > > > > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > > > > > You can use the margin property of > > > > > > > > > > PrintDocument.DefaultPageSettings > > > > > > > > > > PrintDocument.DefaultPageSettings.Margins.Top = ... > > > > > (hundredths of an inch) > > > > > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > > > > > PrintDocument.DefaultPageSettings.Margins.Left = ... > > > > > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > > > > > > > > > > > > > (Imports System.Drawing.Printing) > > > > > > > > > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > > > > > > > > > -tom > > > > > > > > > > Mark ha scritto: > > > > > > > > > > > Hi, > > > > > > I am creating application in VB 2005. and when I print report it adds extra > > > > > > 0.45 cm margin on left and top, and the reason for this is physical margins > > > > > > of printer. > > > > > > > > > > > > Is it possible to change printer's physical margins using VB coding? > > > > > > > > > > > > Cheers > > > > > > -- > > > > > > Osmotion Blue > > > > > > > > > > > > > > > > > > Ah, that's all another story. I thought you were using a standard
PrintDocument. About report viewer I know nothing (I prefer to code the report myself: these tools are too primitive :). -tom Hinesh ha scritto: Show quoteHide quote > Margins that I have set are greater than physical margins, but physical > margins are added to the margins that I have set. > > And other issue is that I can not use PrintDocumnet object because I am > using report viewer. > > Any idea? > > "tommaso.gasta***@uniroma1.it" wrote: > > > Use a PaperSize which matches *exactly* your paper (e.g. A4 or > > whatever) > > then set the margin to a value that includes (that is >=) the > > "physical" margin > > of the printer. Usually normal printers are not capable to use the > > entire surface of the sheet > > and leave some small margin, which I am calling "physical". Your margin > > must be equal or greater than that in order not to have your drawing > > clipped. > > > > PrintDocument.DefaultPageSettings.PaperSize = New > > Printing.PaperSize("Custom", 827, 1169) 'A4 > > 'set margin so that they are at least equal to the "physical" > > margins of the printer > > > > [The PrintableArea property is not so important, unless you want to > > make an attempt > > to establish the size "physical" margins are. For you purposes you > > might disregard this detail. > > You can set it later, after you are already able to print fine with > > arbitrary margins (anyway greater than the "physical" ones)] > > > > -tom > > > > > > Mark ha scritto: > > > > > Hi Tom, > > > If we use this code > > > Dim p As New PrinterSettings() > > > For Each s As String In PrinterSettings.InstalledPrinters > > > p.PrinterName = s > > > MsgBox(p.DefaultPageSettings.PrintableArea.ToString) > > > Next > > > we will get each printer's default settings. > > > > > > and if use > > > p.DefaultPageSettings.Margins.ToString > > > then this will give margins we can see in the print preview. > > > > > > So if printer's default physical margin is 0 then we will not get any > > > difference between print preview and the printed page. > > > > > > But if printer's default left physical margin is 17 (hundredth of inch) then > > > it will add extra 0.17 inch (0.43 cm) in addition to the left margin that we > > > set for the report. > > > > > > -- > > > Osmotion Blue > > > > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > > > > > > > Mark ha scritto: > > > > > > > > > Hi Tom, > > > > > Thanks for reply > > > > > Using the code u sent sets the margins that we can see in print preview but > > > > > the physical margins of printer will be added to this margins. So I need to > > > > > change printer's physical margins by VB coding. > > > > > > > > make sure to set the also the right page size. There is no such a thing > > > > like > > > > "margins are added". > > > > > > > > > > > > > > Another problem is that I am creating PrintDocument object but I am using > > > > > report viewer's print button to display print dialogue. I do not have any > > > > > idea how to handle this type of situation. > > > > > > > > Never used report viewer. Be more specific: someone else may help you > > > > > > > > > > > > > > Any idea? > > > > > > > > > > -- > > > > > Osmotion Blue > > > > > > > > > > > > > > > "tommaso.gasta***@uniroma1.it" wrote: > > > > > > > > > > > You can use the margin property of > > > > > > > > > > > > PrintDocument.DefaultPageSettings > > > > > > > > > > > > PrintDocument.DefaultPageSettings.Margins.Top = ... > > > > > > (hundredths of an inch) > > > > > > PrintDocument.DefaultPageSettings.Margins.Bottom = ... > > > > > > PrintDocument.DefaultPageSettings.Margins.Left = ... > > > > > > PrintDocument.DefaultPageSettings.Margins.Right = ... > > > > > > > > > > > > > > > > > > (Imports System.Drawing.Printing) > > > > > > > > > > > > http://msdn2.microsoft.com/en-us/library/system.drawing.printing.margins_members(d=ide).aspx > > > > > > > > > > > > -tom > > > > > > > > > > > > Mark ha scritto: > > > > > > > > > > > > > Hi, > > > > > > > I am creating application in VB 2005. and when I print report it adds extra > > > > > > > 0.45 cm margin on left and top, and the reason for this is physical margins > > > > > > > of printer. > > > > > > > > > > > > > > Is it possible to change printer's physical margins using VB coding? > > > > > > > > > > > > > > Cheers > > > > > > > -- > > > > > > > Osmotion Blue > > > > > > > > > > > > > > > > > > > > > > > >
2 pieces of the same code doing different things
Custom Attributes, Shared methods, Derived classes and reflection allowing just numeric value in my textbox *** HELP *** Problems Accessing Simple VB.NET Access Database Multi-Threaded App Cross-thread operation not valid How to validate Date entries. Wanted: Simple VB.NET "WEB" Application with an Access Database String translation Saving an image from the browser |
|||||||||||||||||||||||