🎨 Add page number generation and refine the methodology

This commit is contained in:
2025-04-16 20:50:40 +08:00
parent 6b4be90900
commit 53a154a6df
8 changed files with 1150 additions and 56 deletions

View File

@@ -683,3 +683,42 @@ func (d *Document) AddFooterWithReference(footerType string) *Footer {
return footer
}
// AddPageNumberParagraph 添加一个居中的页码段落
func (d *Document) AddPageNumberParagraph() *Paragraph {
// 创建一个新段落
para := d.AddParagraph()
para.SetAlignment("center")
// 添加"第"文本
para.AddRun().AddText("第 ")
// 创建页码域的所有部分
// 1. 域开始
fieldBegin := para.AddRun()
fieldBegin.Field = &Field{
Type: "begin",
Code: "PAGE",
}
// 2. 域分隔符
fieldSeparate := para.AddRun()
fieldSeparate.Field = &Field{
Type: "separate",
}
// 3. 页码内容在Word中会替换为实际页码
fieldContent := para.AddRun()
fieldContent.AddText("1")
// 4. 域结束
fieldEnd := para.AddRun()
fieldEnd.Field = &Field{
Type: "end",
}
// 添加"页"文本
para.AddRun().AddText(" 页")
return para
}