在InsertSectionPageBreak

时间:2015-05-22 09:41:37

标签: c# ms-word docx

我正在使用 DocX 库来创建内部的Microsoft .docx文件 C#。 https://docx.codeplex.com/

我正在将预先存在的文件加载到程序中,然后添加内容。 这是获得预定义标头的最简单方法。我注意到了 我使用InsertSectionPageBreak以这种方式创建的所有页面的页面格式 将从A4更改为letter。

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

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

其他一切都很好。文件创建,保存内容。

A4的默认值为doc.PageWidth = 800;,但不适用于sectionPageBreak个页面。

1 个答案:

答案 0 :(得分:4)

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

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

或只添加空段落:

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

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