110,535
社区成员
发帖
与我相关
我的任务
分享
private List<OrderInfo> listPrintData;//订单List
private PrintDocument printDocument()
{
PrintDocument pd = new PrintDocument();
pd.DocumentName = "快递单打印";
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
pd.EndPrint += new PrintEventHandler(pd_EndPrint);
PaperSize p = new PaperSize();
p.PaperName = "快递单";
p.Width = 909;
p.Height = 500;
pd.DefaultPageSettings.PaperSize = p;
pd.DefaultPageSettings.Margins = new Margins(0, 0, 0, 0);
pd.DefaultPageSettings.Color = true;
PrinterResolution printerResolution = new PrinterResolution();
printerResolution.Kind = PrinterResolutionKind.High;
pd.DefaultPageSettings.PrinterResolution = printerResolution;
return pd;
}
void pd_EndPrint(object sender, PrintEventArgs e)
{
listPrintData.Clear();
listPrintData = null;
}
//打印当前页
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
if(listPrintData==null||listPrintData.Count<=0)
{
e.HasMorePages = false;
MessageBox.Show("完成!");
}
var info = listPrintData[0];
e.Graphics.PageUnit = System.Drawing.GraphicsUnit.Millimeter;//以毫米为单位
Font font = new Font("黑体", 13, System.Drawing.FontStyle.Regular);//内容字体
e.Graphics.DrawString(info.name, font, brush, new PointF(30, 20));//指定位置,可以先用尺子量量看,然后一便便调整。
listPrintData.Remove(info);
if (listPrintData.Count > 0)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
MessageBox.Show("完成!");
}
}