您的位置:首页 > 其它

关于上篇修改打印机设置的补充.

2005-08-23 18:20 344 查看
  internal void PrintProof()
  {
   PrintDocument pd = new PrintDocument();
   pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);

   // 获取默认打印机设置
   PrinterData oldPD = new PrinterData();
            Printing.CustomprinterSettings.PrinterSettings ps = new Printing.CustomprinterSettings.PrinterSettings();
   ps.ChangePrinterSetting(ref oldPD, false);
   // 打印机设置Copy副本
   PrinterData newPD = new PrinterData();
   newPD = oldPD;
   // 设置新参数
   Printing.Proof pftest = (Proof)getPf();
   float height = pftest.nowPosY.Value;

   
   newPD.pmFields |= (int)DmFields.DM_DUPLEX | (int)DmFields.DM_ORIENTATION
    | (int)DmFields.DM_DEFAULTSOURCE | (int)DmFields.DM_PAPERSIZE
    | (int)DmFields.DM_PAPERLENGTH | (int)DmFields.DM_PAPERWIDTH;
   newPD.Size = Printing.CustomprinterSettings.PaperSize.DMPAPER_USER;
   newPD.pLength = (int) (height * 100 / 25.4) + common.Uitls.readPrintBlank();
   //newPD.pWidth = 1200;
   bool x = ps.ChangePrinterSetting(ref newPD, true);
   
   //PrintControl(pd);

   //PrintPreviewDialog pdialog = new PrintPreviewDialog();
   //pdialog.Document = pd;
   //pdialog.ShowDialog();
   pd.Print();

   // 还原设置
   bool y = ps.ChangePrinterSetting(ref oldPD, true);
  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  float user