DocX C# 库在 InsertSectionPageBreak 上更改页面格式

DocX C# library changing page format on InsertSectionPageBreak

我正在使用 DocX 一个用于在其中创建 Microsoft .docx 文件的库 C#。 https://docx.codeplex.com/

我正在将一个预先存在的文件加载到程序中,然后添加内容。 这是获得预定义 header 的最简单方法。我注意到如果 我使用InsertSectionPageBreak这种方式创建的所有页面的页面格式 将从 A4 变为字母。

我尝试使用新的模板文件(空文件),结果是一样的。

var doc = DocX.Load(fileName);
doc.InsertSectionPageBreak();
doc.InsertSectionPageBreak();
doc.InsertSectionPageBreak();
doc.SaveAs(path + filenaming + ".docx");

其他一切正常。创建文件,保存内容。

A4 的默认值是 doc.PageWidth = 800; 但它不适用于 sectionPageBreak 页。

我找到解决办法了!对我来说,它适用于以下代码:

        Novacode.Paragraph p = docx.InsertParagraph(someText, false, someFormat);
        p.InsertPageBreakAfterSelf();

或者只添加空段落:

        Novacode.Paragraph p = docx.InsertParagraph(string.Empty, false);
        p.InsertPageBreakAfterSelf();

因此,如果我们插入页面而不插入部分,则不会破坏格式!