Files
docx-js/demo/42-restart-page-numbers.ts

94 lines
3.3 KiB
TypeScript
Raw Normal View History

// Page numbers - Start from 0 on a new section
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
2021-03-09 22:59:50 +00:00
import { AlignmentType, Document, Header, Packer, PageBreak, PageNumber, PageNumberSeparator, Paragraph, TextRun } from "../build";
2021-03-19 20:53:56 +00:00
const doc = new Document({
sections: [
{
headers: {
default: new Header({
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
alignment: AlignmentType.RIGHT,
children: [
new TextRun("My Title "),
new TextRun({
children: ["Page ", PageNumber.CURRENT],
}),
],
}),
],
}),
2021-03-19 20:53:56 +00:00
first: new Header({
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
alignment: AlignmentType.RIGHT,
children: [
new TextRun("First Page Header "),
new TextRun({
children: ["Page ", PageNumber.CURRENT],
}),
],
}),
],
}),
2021-03-19 20:53:56 +00:00
},
children: [
new Paragraph({
2021-03-19 20:53:56 +00:00
children: [new TextRun("First Page"), new PageBreak()],
}),
new Paragraph("Second Page"),
],
},
{
properties: {
page: {
pageNumbers: {
start: 1,
separator: PageNumberSeparator.EM_DASH,
},
},
},
headers: {
default: new Header({
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
alignment: AlignmentType.RIGHT,
children: [
new TextRun("My Title "),
new TextRun({
children: ["Page ", PageNumber.CURRENT],
}),
],
}),
],
}),
2021-03-19 20:53:56 +00:00
first: new Header({
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
alignment: AlignmentType.RIGHT,
children: [
new TextRun("First Page Header of Second section"),
new TextRun({
children: ["Page ", PageNumber.CURRENT],
}),
],
}),
],
}),
2021-03-19 20:53:56 +00:00
},
children: [
new Paragraph({
children: [new TextRun("Third Page"), new PageBreak()],
}),
new Paragraph("Fourth Page"),
],
2021-03-19 20:53:56 +00:00
},
],
});
Packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync("My Document.docx", buffer);
});