如何获取正文的上、下边距

您好,当页眉、页脚的内容高度超过页面设置上、下页边距时,显示正文区域的高度变小,这时如何获取当前正文内容与上、下的边距呢?
如图:


@cqhg90258 看起来您正在寻找 PageSetup.HeaderDistance 属性和 PageSetup.FooterDistance 属性。

通过 PageSetup.HeaderDistance 取到的值是页眉距页面顶端的距离,我想获取的是正文与页面顶端的距(见第2张图)

@cqhg90258 在这种情况下,您可以使用 TopMarginBottomMargin。例如

Document doc = new Document("input.docx");

doc.FirstSection.PageSetup.TopMargin = 100;
doc.FirstSection.PageSetup.BottomMargin = 100;

doc.Save("output.docx");

我是想获取section.PageSetup.TopMargin的值,不是设置TopMargin的值,我发现页眉内容高度增加后获取到的section.PageSetup.TopMargin值没有发生任何变化呢

@cqhg90258 感谢您的说明。在这种情况下,您可以使用 LayoutEnumerator

Document doc = new Document("input.docx");

LayoutCollector layoutCollector = new LayoutCollector(doc);
// 获取正文中的第一段。
Paragraph firstParagraph = doc.FirstSection.Body.FirstParagraph;

LayoutEnumerator layoutEnumerator = new LayoutEnumerator(doc);
layoutEnumerator.Current = layoutCollector.GetEntity(firstParagraph);
// 获取段落的顶部位置。
double paraTopPosition = layoutEnumerator.Rectangle.Top;

Console.WriteLine("从页面顶部到第一段的距离:" + paraTopPosition);

谢谢!!!我想要的就是这效果

1 Like