猿问

MigraDoc-获取部分的高度

我要实现的目的是使页面上的内容相同两次,并用虚线隔开,并用填充填充,以便一个副本位于上半部,第二个副本位于下半部。就像是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");


杨__羊羊
浏览 142回答 1
1回答

慕斯709654

回答您的问题:仅当将内容呈现为某种输出格式(例如PDF)时,该内容才具有高度。让PDF Renderer准备文档,然后您将能够查询文档中每个对象的位置和高度。替代解决方案:我的尝试#1是:创建一个,Table并设置第一行的高度以覆盖页面的上半部分;将页面下半部分的内容添加到第二行;隐藏边框以使表格不可见。我的第二种尝试是:TextFrame在页面下半部分的绝对位置创建一个;通常将内容添加到该部分,并将其添加到TextFrame。在这两种情况下,您都必须确保内容适合半页。
随时随地看视频慕课网APP
我要回答