2014-03-19 68 views
0

我会印刷一个页面。我想向用户展示他将要打印的内容以及它如何适合纸张。这就是所见即所得的事情。没有预览只是在编辑文档时绘制边框。单页打印页边界?

当PrintPage事件被触发时,我有e.PageBounds = {X=0,Y=0,Width=827,Height=1169}ISO 216,A4。但为时已晚。


问题:我如何获得这些边界 之前我打印? 我将使用 ISO 216,A3,A4

+0

我可能错了,但页面边界取决于所选择的打印机。所以你不知道他们是什么,直到你选择打印机打印。您可以使用System.Printing命名空间中的类来获取要打印的打印机的功能。 –

+1

e.PageBounds简单的是PageSettings.Bounds。您打印之前*您确定哪些东西是没有问题的。使用PageSetupDialog类让用户选择另一个页面或更改页边距。 –

回答

0

您可以从打印机驱动程序获得System.Drawing.Printing.PrintDocument.DefaultPageSettings的默认页边界,但实际打印文档时可能与PrintPageEventArgs不同;用户可以从打印对话框中更改打印机或页边距。

即使您不显示打印对话框并且仅打印到默认打印机,所见即所得是非常困难的,因为打印机可以执行字体替换。