gpt4 book ai didi

c# - PrintDocument 总是有边距

转载 作者:行者123 更新时间:2023-11-30 12:46:07 33 4
gpt4 key购买 nike

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

无论我做什么,我打印的所有内容总是有边距,这意味着没有任何内容在需要的地方对齐。

这是我用来创建 PrintDocument

的代码
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 不在页面的左上角。

我真的迷路了

最佳答案

有趣的是,打印函数来不及设置大部分属性,只能应用于后续页面

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

关于c# - PrintDocument 总是有边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384625/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com