C#打印时页边距设置无效、不起作用的原因及解决方法


C#开发打印程序的时候,遇到一个很郁闷的事情,不管页边距Margins怎么设置,就是没效果,一点作用都没有。
辛辛苦苦翻了半天web,才发现默认情况下PrintDocument的页边距开关居然是关闭的,必须打开页边距设置才有效。
解决办法是设置PrintDocument对象的OriginAtMargins属性为True,如下:
printDocument1.OriginAtMargins = true; //启用页边距
再来看一下从元数据中提取的关于OriginAtMargins属性的定义:
// // 摘要:
// 获取或设置一个值,该值指示与页关联的图形对象的位置是位于用户指定边距内,还是位于该页可打印区域的左上角。
// // 返回结果:
// 如果图形起始于页面边距,则为 true;如果图形原点位于该页可打印区域的左上角,则为 false。默认为 false。
[DefaultValue(false)] public bool OriginAtMargins { get; set; } 可以看到此属性的DefaultValue为false,所以如果不改的话,页边距设的再大也没有用。
Tags: 

延伸阅读

最新评论

发表评论