如何设置页面边距进行打印

3

我正在制作一个Wordpad程序。现在我正在开发一个功能,当你点击这个按钮时,它会打印到你的默认打印机上。我已经做了一些研究,并找到一些可行的代码,可以实现打印功能:

private void buttonPrint_Click(object sender, EventArgs e)
    {
        string print = "" + textBody.Text;

        PrintDocument p = new PrintDocument();
        p.PrintPage += delegate(object sender1, PrintPageEventArgs e1)
        {
            e1.Graphics.DrawString(print, new Font("Times New Roman", 12), new     SolidBrush(Color.Black), new RectangleF(0, 0, p.DefaultPageSettings.PrintableArea.Width, p.DefaultPageSettings.PrintableArea.Height));
        };
        try
        {
            p.Print();
        }
        catch (Exception ex)
        {
            throw new Exception("Exception Occured While Printing", ex);
        }
    }

目前这个可以工作,但我想知道是否可以加上边距,因为它现在没有。它只做到了这一点:

<Top of Page>
<Message>

在顶部、两侧(左、右)和底部都没有边距。我该如何修改代码以添加边距?


1
Wordpad使用RichTextBox,它与工具箱中的几乎相同。将其内容打印出来,使文本在纸上完全一致有点复杂,但在这篇MSDN文章中有很好的介绍。 - Hans Passant
1个回答

1
PrintDocument 上,您可以在 DefaultPageSettings 对象上设置 Margins
Margins margins = new Margins(100,100,100,100);
p.DefaultPageSettings.Margins = margins;

1
谢谢,这帮了很大的忙! - Micah Vertal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接