winform 打印图片填充整页

PrintPreviewDialog dialog = new PrintPreviewDialog();
            dialog.Document =  print_express; //print_express是PrintDocument控件
            print_express.DefaultPageSettings.PrinterSettings.PrinterName = printName;

            //防闪退 start
            PrintController printController = new StandardPrintController();
            print_express.PrintController = printController;
            //防闪退 end
            //print_express.Print();
            dialog.ShowDialog();

  

private void print_express_PrintPage(object sender, PrintPageEventArgs e)
        {
            Image img = Method.Base64ToImage(curPrintExpress);
            //填充至整页
            e.Graphics.DrawImage(img,e.PageBounds); //关键是e.PageBounds页面大小
        }

  注意自定义纸张时的单位换算:

 print_express.DefaultPageSettings.PaperSize = new PaperSize("dyappe express", (int)(100 / 25.4 * 100), (int)(150 / 25.4 * 100));

  其中 100 和 150单位为毫米(mm) , 比如我这里要打印的顺丰快递面单是 10*15cm  则这里需要传入 100*150mm

猜你喜欢

转载自www.cnblogs.com/xyunp/p/12563009.html