我想要一个方法在MigraDoc中设置相对列宽,我在主题上找到了this post。问题是,它对我不起作用。我已从该帖子中复制了确切的代码:
Section section = document.AddSection();
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;
但是,如果我在代码中插入一个断点(在int columnWidth = ...
之后),则表明节页面宽度为零:
显然,从截面宽度得到的所有东西也变为零。但为什么?如您所见,PageFormat
已正确设置为" A4"。我不明白......
答案 0 :(得分:0)
我设法找到了解决方案(有点巧合)。这篇文章描述了与section.PageSetup
有些类似的问题。解决方案是在修改之前创建默认页面设置的克隆。新代码如下所示:
Section section = document.AddSection();
section.PageSetup = document.DefaultPageSetup.Clone(); // <-- This has been added
section.PageSetup.PageFormat = PageFormat.A4;
int sectionWidth = (int)(section.PageSetup.PageWidth - section.PageSetup.LeftMargin - section.PageSetup.RightMargin);
int columnWidth = sectionWidth / 2;