日期:2014-05-20  浏览次数:20767 次

VS2010 水晶报表 获取自定义纸张的ID

System.Drawing.Printing.PrintDocument doc = new System.Drawing.Printing.PrintDocument();                               //记录标识自定义纸张的ID
int rawKind = 1;
//枚举出所有的打印纸尺寸
for (int a = 0; a < doc.PrinterSettings.PaperSizes.Count; a++)
{
  if (doc.PrinterSettings.PaperSizes[a].PaperName == "wms")
  {
     rawKind = doc.PrinterSettings.PaperSizes[a].RawKind;
     //指定纸张,下面代码的crystalReport所设计的报表定义的对象
     Print.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)rawKind;
     break;
   }
}


除了以上的方法外,还有没有其他方法?
有没有类似下面的方面,因为是菜鸟,不会用下面的方法。

[DllImport("winspool.drv ")]
public static extern int GetPaperSize(System.IntPtr ptr, ref int size);

------解决方案--------------------
自己先顶一下