You can change the paper size at runtime based on your condition. The elements are derived from Printer settings.
ReportDocument myReportDocument = new ReportDocument();
if(Session["PaperSize"].Equals("A4"))
{
myReportDocument.PrintOptions.PaperSize = PaperSize.PaperA4;
}
else if(Session["PaperSize"].Equals("A3"))
{
myReportDocument.PrintOptions.PaperSize = PaperSize.PaperA3;
}
DataSet MyDataSet = (DataSet)Session["MyDataSet"];
myReportDocument.SetDataSource(MyDataSet);
CrystalReportViewer1.ReportSource = myReportDocument;
CrystalReportViewer1.DataBind();
Always come with your snippets which will help you to get solutions quickly for you.