Print should cover whole page

Hello,

I have a diagram and print button with me on click of which the diagram should get printed. I am using the below code for doing this:
PrintDialog printDialog = SetPrintDialogProperties();
diagram.PrintManager.Print(printDialog);
In the method SetPrintDialogProperties I am giving the pagemedia size as below :
printDialog.PrintTicket.PageMediaSize = new PageMediaSize(PageMediaSizeName.ISOA4);
I am facing the below issues:
Issue 1 : I want my diagram to be printed in full A4 Size paper i.e it should cover whole A4 paper,but this is not happening. Please refer to the pic at the end. Please suggest.
Issue 2 : I want to display header values in print out and if I am giving margin as below:
this.diagram.PrintManager.Margin = new Thickness(15,15,15,15); the header does not get displayed. If i change the values to 30 then it works fine. The pic at the end has no header as the margin is 15,15,15,15. Please suggest.
Pic :
Thanks,
Abdi

I think you want to set Diagram.PrintManager.PageOptions to include the “Full” page flag.

Yes, depending on how large the objects are that you want to render outside of the printed diagram area, the Margin might need to be a Thickness of the corresponding size, at least in that direction.

Setting the Page Options is not solving the problem. Actually we have implemented Print Preview in which we are reducing the printable area of the diagram to half of the papersize as we need the same for export to AutoCAD.

While exporting the symbols are scaled down to half size. Hence print preview and exported drawing should look same within the specified paper size. This is working fine at present. But when we print on a paper the diagram is printed at actual size, which is also correct.
So, is there any way that while printing we can define the scale factor so that it will print with the specified scale and fit in given paper?
We tried using printDialog.PrintTicket.PageScalingFactor but didn't help.
Thanks,
Abdi

I’m not understanding what you are doing. Are you unable to set PrintManager.Scale to a value that you calculate?