C#打印偏移

时间:2015-07-13 13:18:34

标签: c# printing

我试图从C#应用程序打印一些A5页面,但我得到了意想不到的结果。输出垂直偏移约110mm,因此输出从页面中间开始,水平偏移约20mm。输出从页面的左侧开始(因此很难测量精确的偏移量)。输出也会水平和垂直地剪裁。

例如,

dc.DrawRectangle (0, 0, 100, 100)

在页面的中间画一个盒子,由于离开左边缘,一半盒子丢失了。虽然大小似乎还不错。

我必须错过一些非常明显的东西,但我自己也不能看到它。有谁知道可能导致这些偏移的原因?

1 个答案:

答案 0 :(得分:0)

这可能会提供一个提示:

// Rectangle describes page minus margins.
Rect rectPage = new Rect(marginPage.Left, marginPage.Top,
  dlg.PrintableAreaWidth - (marginPage.Left + marginPage.Right),
                        dlg.PrintableAreaHeight - (marginPage.Top + marginPage.Bottom));
// Draw rectangle to reflect user's margins.
dc.DrawRectangle(null, pn, rectPage);

来自:Charles Petzold's Apps = Code With Markup