首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrintDocument始终留有边距

PrintDocument始终留有边距
EN

Stack Overflow用户
提问于 2014-01-27 23:21:48
回答 1查看 5.4K关注 0票数 6

我在使用带有边距的PrintDocument时遇到了问题。

无论我做什么,我打印的每一件东西都会有一个页边距,这意味着没有任何东西会在需要的地方对齐。

下面是我用来创建PrintDocument的代码

代码语言:javascript
复制
public void Print()
{
   PrintDocument printDocument = new PrintDocument();
        printDocument.DefaultPageSettings.PaperSize = new PaperSize("A5",583,827);
        printDocument.OriginAtMargins = true;
        printDocument.DefaultPageSettings.Margins.Top = 0;
        printDocument.DefaultPageSettings.Margins.Left = 0;
        printDocument.DefaultPageSettings.Margins.Right = 0;
        printDocument.DefaultPageSettings.Margins.Bottom = 0;

        if (!string.IsNullOrWhiteSpace(PrinterName))
        {
            printDocument.PrinterSettings.PrinterName = PrinterName;
        }

        printDocument.PrintController = new StandardPrintController();
        printDocument.PrintPage += On_PrintPage;
        printDocument.Print();
}

On_PrintPage方法具有对e.Graphics.Draw...方法的各种调用。

如何才能使我在0,0处打印的内容打印在页面的最左上角。我知道如果打印机不能打印到页面边缘那么远的地方,它将是空白的,但是它应该这样做,而不是在页面的左上角打印0,0。

我真的迷失在这里了

EN

回答 1

Stack Overflow用户

发布于 2018-07-10 05:04:36

有趣的是,print函数太晚了,无法设置大多数属性,并且只会应用于后续页面

您需要使用PrintDocument.QueryPageSettings事件来代替,并在那里设置属性,我总是设置页面设置,而不仅仅是默认设置。然后,在0,0处绘制应该尽可能接近(打印机+驱动程序允许)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21384625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档