【发布时间】:2008-11-30 19:59:44
【问题描述】:
您好,
我遇到问题(尝试从 c# 打印到某些没有大打印区域的打印机时。有没有办法缩小到可打印区域(如 Adobe Acrobat)?谢谢!
【问题讨论】:
您好,
我遇到问题(尝试从 c# 打印到某些没有大打印区域的打印机时。有没有办法缩小到可打印区域(如 Adobe Acrobat)?谢谢!
【问题讨论】:
您可以确定图像的大小,然后确定打印区域的大小(从打印机设置和边距 - 如另一篇文章中所述),然后计算水平或垂直收缩的比率(以较高者为准,所以图像未裁剪)。在绘制页面内容之前,在打印机图形上下文的比例变换中使用此比率。
【讨论】:
你用什么来打印?您很可能必须查询打印机的边距,然后调整绘图代码以在可打印区域内打印。
换句话说 - 你必须“手工”完成。
【讨论】:
在 .Net 中,您应该使用 System.Drawing.Printing 命名空间中的类来打印。当你这样做时,你从PrintDocument 对象调用Print() 方法。这将引发PrintDocument 的PrintPage 事件。该事件的PrintPageEventArg 参数的Graphics 属性具有ClipBounds 属性。使用此属性检查可打印区域。
【讨论】: