If eliminating the printer margins is your goal, you are going about it wrong. You don't have to resize the graph, regardless of the orientation. You would just use the ChartPrint.PrintPageSettings.Margins property to set the margins.
An earlier post in the QCChart2D forum, titled Printing, from March 2005 discusses this.
Set the margins of the PrintPageSetgings to all 0.0, or some small number representing the printable region of the paper.
The printing routines will NOT change the aspect ratio of the graph on the screen. The aspect ratio will always match that of the underlying ChartView object. If you want to use the entire printable area of a 11x8.5 sheet, you will need to give the underlying ChartView an approximately 11.5 x 8.5 aspect ratio, either Landscape or Portrait.
public void PrintPage(object sender, System.EventArgs e)
ChartView chartVu = this;
if (chartVu != null)
if (printobj == null)
printobj = new ChartPrint(chartVu, ChartObj.PRT_MAX);
printobj.PrintChartView = chartVu;
printobj.PrintSizeMode = ChartObj.PRT_MAX;
printobj.PrintPageSettings.Landscape = true;
printobj.PrintPageSettings.Margins = new Margins(0,0,0,0);
printobj.DocPrintPage( sender, e);