上代码
void Main() { PrintDocument docToPrint = new PrintDocument(); docToPrint.PrintPage += FontToPrint_PrintPage; docToPrint.Print(); } private void FontToPrint_PrintPage(object sender, PrintPageEventArgs e) { //设置单位为厘米后,第一次打印位置正确 //第二次打印所在位置缩小100倍,第三次继续缩小 e.Graphics.PageUnit = GraphicsUnit.Millimeter; Font font = new Font("Arial", 9, FontStyle.Bold); foreach (PrintDataBase model in printModel.PrintList) { e.Graphics.DrawString(model.Value, font, myBrush, model.XPosition, model.YPosition); } }
解决方案
100
本人认为是你model这里的数据发生了变化,导致的。
你假如两次打印是同样的数据,不会出现问题。
你假如两次打印是同样的数据,不会出现问题。