C#控制打印机打印窗体控件上信息

void PrintPanel()
{
    int paperWidth = 178;
    int paperHeight = 52;
    var printDocument = new System.Drawing.Printing.PrintDocument();
    //指定打印机
    //printDocument.PrinterSettings.PrinterName = "";
    //设置页边距
    printDocument.PrinterSettings.DefaultPageSettings.Margins.Left = 0;
    printDocument.PrinterSettings.DefaultPageSettings.Margins.Top = 0;
    printDocument.PrinterSettings.DefaultPageSettings.Margins.Right = 0;
    printDocument.PrinterSettings.DefaultPageSettings.Margins.Bottom = 0;
    //设置尺寸大小,如不设置默认是A4纸
    printDocument.DefaultPageSettings.PaperSize = new System.Drawing.Printing.PaperSize("A4", paperWidth, paperHeight);
 
    printDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(printDocument_PrintPage);
    printDocument.Print();
    printDocument.Dispose();
}
 
void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Graphics g = e.Graphics;
    g.PageScale = 0.14F;//按比例缩小
    Bitmap bitmap = new Bitmap(580, 580);
    this.panel1.DrawToBitmap(bitmap, new Rectangle(0, 0, bitmap.Width, bitmap.Height));   //要打印的信息都放在一个panel上
    e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height); 
}

 

posted @ 2020-03-18 09:27  Bridgebug  阅读(264)  评论(0编辑  收藏  举报