c# - 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");
解决方案
回答您的问题:
当您将内容呈现为某种输出格式(例如 PDF)时,内容只有一个高度。
让 PDF 渲染器准备文档,然后您将能够查询文档中每个对象的位置和高度。
替代解决方案:
我的尝试#1是:创建一个Table
并设置第一行的高度以覆盖页面的上半部分;将页面下半部分的内容添加到第二行;隐藏边框以使表格不可见。
我的尝试 #2 是:TextFrame
在页面下半部分的绝对位置创建一个;将内容正常添加到该部分,并将它们添加到 TextFrame。
在这两种情况下,您都必须确保内容适合半页。
推荐阅读
- javascript - 在javascript中使用child_process执行shell命令
- javascript - 续集创建 2 个条目而不是 1 个
- spring-mvc - 为什么在 SpringBoot 应用程序中从我的测试中删除 WebMvcTest 注释会导致 ComponentScan 失败?
- python-3.x - Python-Beautiful Soup-解析 XML 重复的字符串
- javascript - 当节点模块具有 es6 语法(create-react-app)时,Jest 无法运行
- css - CSS动画从中心向外扩展div
- python - 使用类方法搜索对象列表 - python
- java - 使用迭代器向前然后向后遍历 LinkedList
- java - DL4J 尝试使用 cpu 而不是 cuda
- php - 单击表单中的提交按钮后,一切都变得不确定