Code Bye

C#静默打印使用mm作为单位打印第二张缩小100倍

上代码
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这里的数据发生了变化,导致的。
你假如两次打印是同样的数据,不会出现问题。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#静默打印使用mm作为单位打印第二张缩小100倍