【发布时间】:2017-01-06 02:52:49
【问题描述】:
在下面的 C# 代码中,我尝试确定页面的宽度,以便我可以将具有 3 列的表格拉伸到页面的整个宽度(减去页边距)。最初,我认为我应该将每个表格列的宽度设置为页面宽度的 1/3。但是,我发现下面代码中的section.PageSetup.PageWidth、section.PageSetup.LeftMargin和section.PageSetup.RightMargin返回的值是0。
Section section = document.AddSection();
section.PageSetup.PageFormat = PageFormat.A4;
section.PageSetup.Orientation = Orientation.Portrait;
int sectionWidth = (int)Math.Ceiling(section.PageSetup.PageWidth -
section.PageSetup.LeftMargin -
section.PageSetup.RightMargin);
int columnWidth = (int)Math.Ceiling(sectionWidth / 3);
我假设将页面格式设置为PageFormat.A4 并将方向设置为Orientation.Portrait 将相应地设置section.PageSetup.PageWidth 的值,并将边距的值设置为一些默认值。有人可以告诉我我做错了什么吗?我昨天才开始使用 MigraDoc。非常感谢。
【问题讨论】:
-
这可能会对您有所帮助:stackoverflow.com/questions/15966672/…(标记的答案说包含的代码是 migradoc)。
-
谢谢史蒂夫。是的,它有帮助。我知道我可以使用这个:
PdfSharp.Drawing.XSize size = PdfSharp.PageSizeConverter.ToSize(PdfSharp.PageSize.A4)来获取包括边距在内的整个页面的宽度。现在我必须找到一种方法来减去默认边距以获得页面的“可用宽度”。
标签: c# pdf pdf-generation pdfsharp migradoc