MigraDoc - 如何删除顶部空白?

问题描述 投票:0回答:1

我是一个从C#中生成PDF的新手,我正在使用MigraDoc。我已经尝试将margin设置为0,但似乎margin仍然存在。

这里是代码

Document document = new Document();
document.DefaultPageSetup.TopMargin = 0;

Section section = document.AddSection();

section.PageSetup.PageWidth = "21.7cm";
section.PageSetup.PageHeight = "9cm";
section.PageSetup.TopMargin = "0cm";
section.PageSetup.LeftMargin = "0cm";
MigraDoc.DocumentObjectModel.Shapes.Image image2 = section.Headers.Primary.AddImage("D:\\output\\sky-690293_640.jpg");
image2.Height = "9cm";
image2.LockAspectRatio = true;
image2.Top = 0;
image2.Left = 0;
image2.WrapFormat.Style = WrapStyle.Through;

但是,上边还是有余地的。

上边的余地仍然存在

c# pdfsharp migradoc
1个回答
0
投票

你将图片添加到页眉--TopMargin与页眉的内容无关。

要么将图片添加到文档主体,TopMargin将被应用,要么设置PageSetup的HeaderDistance属性。

另外:千万不要像第二行代码那样修改DefaultPageSetup。

更新:您可以将图像放置在一个绝对位置--在您的例子中,那将是(0, 0)。这将适用于页眉和正文中的图片,并且不受页边距设置的影响。

如果你想尝试绝对定位,可以用未经测试的代码来开始。

image2.RelativeHorizontal = RelativeHorizontal.Page;
image2.RelativeVertical = RelativeVertical.Page;
image2.WrapFormat.Style = WrapStyle.Through;
© www.soinside.com 2019 - 2024. All rights reserved.