Fai*_*rse 6 .net vb.net printing visual-studio
一点背景:创建一个从数据库输入生成报表和表单的程序.我已经把所有东西都运行得很好,但我似乎无法弄清楚我的打印问题.我已经尝试了几种打印到打印机的方法,我从自定义程序打印的每个文档都略微偏离页面右侧的中心.
我理解这是打印机本身的原因,但我怎么能适应这个?在打印预览中,报告看起来很完美.我需要一些指导,了解哪些方法可以在VB.NET中使用多种不同的打印机.任何帮助是极大的赞赏.
不要使用 e.pagebounds 作为边界框,而是尝试使用 e.graphics.VisibleClipBounds。某些打印机驱动程序对 e.pagebounds 有点不可靠,而visibleclipbounds 似乎更准确。
例如:
Sub printPage(ByVal sender As Object, ByVal e As PrintPageEventArgs)
Dim g As Graphics
g = e.Graphics
g.ResetTransform()
Run Code Online (Sandbox Code Playgroud)
g.VisibleClipBounds 现在是一个应该是最大页面大小的矩形,可用于居中文本或图形。只需使用 g 作为输出到打印机的图形对象即可。页面的水平中心是
g.VisibleClipBounds.Left + g.VisibleClipBounds.Width / 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
348 次 |
| 最近记录: |