DOCX
页眉与页脚
为文档节添加页眉、页脚和页码
每个 Section 可以通过 headers 和 footers 字段定义自己的页眉和页脚。
基本页眉和页脚
{
"sections": [
{
"headers": {
"default": [{ "paragraph": { "alignment": "right", "children": ["My Document"] } }]
},
"footers": {
"default": [
{
"paragraph": {
"alignment": "center",
"children": ["Page ", "CURRENT", " of ", "TOTAL_PAGES"]
}
}
]
},
"children": [{ "paragraph": { "children": ["Document content goes here."] } }]
}
]
}
import { generateDocument } from "@office-open/docx";
const buffer = await generateDocument({
sections: [
{
headers: {
default: [{ paragraph: { alignment: "right", children: ["My Document"] } }],
},
footers: {
default: [
{
paragraph: {
alignment: "center",
children: ["Page ", "CURRENT", " of ", "TOTAL_PAGES"],
},
},
],
},
children: [{ paragraph: { children: ["Document content goes here."] } }],
},
],
});
页码值
"CURRENT"; // 当前页码
"TOTAL_PAGES"; // 文档总页数
"TOTAL_PAGES_IN_SECTION"; // 当前节的总页数
"CURRENT_SECTION"; // 当前节编号
首页和奇偶页
为首页和交替页面使用不同的页眉和页脚:
{
"evenAndOddHeaderAndFooters": true,
"sections": [
{
"properties": {
"titlePage": true
},
"headers": {
"default": [{ "paragraph": { "children": ["Default Header"] } }],
"first": [{ "paragraph": { "children": ["First Page Header"] } }],
"even": [{ "paragraph": { "children": ["Even Page Header"] } }]
},
"footers": {
"default": [{ "paragraph": { "children": ["Default Footer"] } }],
"first": [{ "paragraph": { "children": ["First Page Footer"] } }],
"even": [{ "paragraph": { "children": ["Even Page Footer"] } }]
},
"children": [{ "paragraph": { "children": ["Content..."] } }]
}
]
}
import { generateDocument } from "@office-open/docx";
const buffer = await generateDocument({
sections: [
{
properties: {
titlePage: true,
},
headers: {
default: [{ paragraph: { children: ["Default Header"] } }],
first: [{ paragraph: { children: ["First Page Header"] } }],
even: [{ paragraph: { children: ["Even Page Header"] } }],
},
footers: {
default: [{ paragraph: { children: ["Default Footer"] } }],
first: [{ paragraph: { children: ["First Page Footer"] } }],
even: [{ paragraph: { children: ["Even Page Footer"] } }],
},
children: [{ paragraph: { children: ["Content..."] } }],
},
],
evenAndOddHeaderAndFooters: true,
});
选项参考
Header / Footer 选项
| 选项 | 类型 | 说明 |
|---|---|---|
children | SectionChild[] | 内容元素(段落、表格等) |
Section Header/Footer 键
| 键 | 类型 | 说明 |
|---|---|---|
default | SectionChild[] | 默认(奇数)页的页眉/页脚 |
first | SectionChild[] | 首页的页眉/页脚(需要 titlePage) |
even | SectionChild[] | 偶数页的页眉/页脚(需要 evenAndOddHeaderAndFooters) |