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