如何在Microsoft OXML c#

时间:2016-07-18 07:17:14

标签: c# footer openxml page-numbering

我在Visual Studio中使用OXML创建word文档。我不知道它会持续多长时间,我需要在文档的页脚中添加一个简单的页码。

要生成页眉和页脚,我使用了这个: https://msdn.microsoft.com/en-us/library/ee355228(v=office.12).aspx

据我所知,在我甚至在文档中写任何内容之前,这会预设默认的页眉/页脚。所以我不确定我是否可以为此添加页码?我非常感谢你的帮助,因为我已经被困在这一整天......

2 个答案:

答案 0 :(得分:4)

您可以添加Instruction "PAGE" GeneratePageFooterPart来添加动态页码。 Word将使用正确的页码自动更新任何此类字段。

为了编码,您可以调整自己提供的链接中的SimpleField,将Run添加到Footer中,并添加到private static Footer GeneratePageFooterPart(string FooterText) { var element = new Footer( new Paragraph( new ParagraphProperties( new ParagraphStyleId() { Val = "Footer" }), new Run( new Text(FooterText), // *** Adaptation: This will output the page number dynamically *** new SimpleField() { Instruction = "PAGE" }) )); return element; }

PAGE

请注意,您可以通过后缀SimpleField文本来更改页码的格式。来自SimpleField

  

当前页码为19且更新以下字段时:

     

PAGE
  PAGE \ * ArabicDash
  PAGE \ * ALPHABETIC
  PAGE \ * roman

     

结果是:

     

19
   - 19 -
  小号
  xix

因此,要获取罗马数字,您需要将上面的new SimpleField() { Instruction = "PAGE \\* roman" }) 代码行更改为:

new SimpleField() { Instruction = @"PAGE \* roman" })

或(如果您愿意)

auth.signInWithCredential(firebase.auth.FacebookAuthProvider.credential(fbAccessToken));

答案 1 :(得分:-1)

尝试一下:

user

有关更多说明,请参阅以下link