DevExpress中XtraReport如何控制打印尺寸大小  困我好几天了 !!!!
如题   效果如下面图片所示
平时打印的都是A4纸,现在我需要打印3种格式大小,宽都是210mm,长分别是:93.3mm,139.7mm,279.8mm
网上都说设置打印机的纸张大小,这个不适合我,因为这样我就必须设置每个客户的打印机的默认纸张大小了。
我想的是直接设置打印尺寸,就像线面图片所示
如何实现啊  这个问题困我好几天了
图片中是我看到一个DevExpress中的Demo,但是在相应的Report代码示例中没有这个示例,
(复制图片地址 在地址栏可以查看原图)
------解决方案-------------------- //检索单据内容
           Share.ShareData ssd = new Share.ShareData();
           ssd = Share.Funtions.BytesToShareData(Common.GlobalVar.Webinv.GetTransferorderforprint(strbillNumber));
           //检索后 设置参数,如是否立即生效等
           //const string tbNameBillType = "打印参数";
           string rptAss = Convert.ToString(ssd.ADataSet.Tables["Print"].Rows[0]["RptAssembly"]);
           string rptName = Convert.ToString(ssd.ADataSet.Tables["Print"].Rows[0]["RptFormName"]);
           try
           {
               System.Reflection.Assembly asm = System.Reflection.Assembly.Load(rptAss);//程序集名
               object rptObj = asm.CreateInstance("easyDms." + rptName, false, System.Reflection.BindingFlags.Default, null, null, null, null);//程序集+form的类名。
               DevExpress.XtraReports.UI.XtraReport xrp2 = (DevExpress.XtraReports.UI.XtraReport)rptObj;
               xrp2.DataSource = ssd.ADataSet;
               //PrintingSystem prn = new PrintingSystem();
               //设置打印页的宽度和高度
               xrp2.ReportUnit = DevExpress.XtraReports.UI.ReportUnit.TenthsOfAMillimeter;  //设置单位为mm
               xrp2.PaperKind = System.Drawing.Printing.PaperKind.Custom;                           //纸张类型自定义
               try
               {
                   xrp2.PageHeight = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageHeight"]);
                   xrp2.PageWidth = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageWidth"]);
                   //边距
                   for (int i = 0; i < xrp2.Bands.Count; i++)
                   {
                       if (xrp2.Bands[i].GetType().ToString() == "DevExpress.XtraReports.UI.TopMarginBand")
                           xrp2.Bands[i].HeightF = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageTop"]) * 10;
                       if (xrp2.Bands[i].GetType().ToString() == "DevExpress.XtraReports.UI.BottomMarginBand")
                           xrp2.Bands[i].HeightF = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageBottom"]) * 10;
                   }
                   xrp2.Margins.Left = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageLeft"]) * 10;
                   xrp2.Margins.Right = Convert.ToInt16(ssd.ADataSet.Tables["Print"].Rows[0]["PageRight"]) * 10;
               }
               catch
               {
                   //如果有错误,则取默认打印机的默认纸张
                   PrintDocument pd = new PrintDocument();
                   xrp2.PageHeight = Convert.ToInt16(pd.DefaultPageSettings.PaperSize.Height / 0.394);
                   xrp2.PageWidth = Convert.ToInt16(pd.DefaultPageSettings.PaperSize.Width / 0.394);
                   MessageBox.Show("打印页面设置不正确,使用默认纸张设置。", "提示");
               }
               //生成打印内容
               xrp2.CreateDocument();
               xrp2.ShowPreviewDialog();
               //显示单据
               //easyDms.Common.FormTempletPrint wprint = new easyDms.Common.FormTempletPrint();
               //显示打印窗口
               //wprint.printingSystem = (PrintingSystem)xrp2.PrintingSystem;
               //wprint.S