DOCX
页眉与页脚
为文档节添加页眉、页脚和页码
每个 Section 可以使用 Header 和 Footer 类定义自己的页眉和页脚。
基本页眉和页脚
import { Document, Paragraph, TextRun, Header, Footer, PageNumber } from "@office-open/docx";
const doc = new Document({
sections: [
{
headers: {
default: new Header({
children: [
new Paragraph({
alignment: "right",
children: [new TextRun("My Document")],
}),
],
}),
},
footers: {
default: new Footer({
children: [
new Paragraph({
alignment: "center",
children: [
new TextRun("Page "),
new TextRun({ children: [PageNumber.CURRENT] }),
new TextRun(" of "),
new TextRun({ children: [PageNumber.TOTAL_PAGES] }),
],
}),
],
}),
},
children: [new Paragraph("Document content goes here.")],
},
],
});
页码值
PageNumber.CURRENT; // 当前页码
PageNumber.TOTAL_PAGES; // 文档总页数
PageNumber.TOTAL_PAGES_IN_SECTION; // 当前节的总页数
PageNumber.CURRENT_SECTION; // 当前节编号
首页和奇偶页
为首页和交替页面使用不同的页眉和页脚:
const doc = new Document({
sections: [
{
properties: {
page: {
differentFirstPage: true,
differentOddAndEvenPages: true,
},
},
headers: {
default: new Header({
children: [new Paragraph("Default Header")],
}),
first: new Header({
children: [new Paragraph("First Page Header")],
}),
even: new Header({
children: [new Paragraph("Even Page Header")],
}),
},
footers: {
default: new Footer({
children: [new Paragraph("Default Footer")],
}),
first: new Footer({
children: [new Paragraph("First Page Footer")],
}),
even: new Footer({
children: [new Paragraph("Even Page Footer")],
}),
},
children: [new Paragraph("Content...")],
},
],
});