gpt4 book ai didi

c# - MigraDoc - 获取部分的高度

转载 作者:太空宇宙 更新时间:2023-11-03 12:15:08 26 4
gpt4 key购买 nike

我想要实现的是在页面上两次显示相同的内容,用虚线分隔,并使用填充,这样一份副本位于上半部分,第二份副本位于下半部分。类似于 firstSection.SpaceAfter = (height of page/2) - (height of first section)

tl;dr:添加所有内容后如何计算第一部分的高度?

我有这个,里面有复制的内容和虚线,但我需要填充。

Document document = new Document();
document.Info.Title = "Testing";

Style style = document.Styles["Normal"];
style.Font = new Font("Times New Roman", 12);

Section section = document.AddSection();
section.PageSetup = document.DefaultPageSetup.Clone();

Paragraph paragraph = section.AddParagraph("Hello");
paragraph = section.AddParagraph("World");
paragraph = section.AddParagraph();
paragraph.Format.Borders.Bottom = new Border
{
Width = "1pt",
Color = Colors.Black,
Style = BorderStyle.DashLargeGap
};

paragraph = section.AddParagraph("Hello");
paragraph = section.AddParagraph("World");

最佳答案

回答你的问题:
当您将内容呈现为某种输出格式(例如 PDF)时,内容只有一个高度。
让 PDF 渲染器准备文档,然后您将能够查询文档中每个对象的位置和高度。

替代解决方案:
我的尝试 #1 是:创建一个 Table 并设置第一行的高度以覆盖页面的上半部分;将页面下半部分的内容添加到第二行;隐藏边框以使表格不可见。
我的尝试 #2 是:在页面下半部分的绝对位置创建一个 TextFrame;通常将内容添加到该部分,并将它们添加到 TextFrame。

在这两种情况下,您都必须确保内容适合半页。

关于c# - MigraDoc - 获取部分的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50134638/

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