Files
docx-js/demo/39-page-numbers.ts

76 lines
2.7 KiB
TypeScript
Raw Normal View History

2019-02-26 22:20:20 +00:00
// Example how to display page numbers
2019-01-16 00:13:18 +00:00
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
import { AlignmentType, Document, Footer, Header, Packer, PageBreak, PageNumber, NumberFormat, Paragraph, TextRun } from "../build";
2019-01-16 00:13:18 +00:00
2021-03-19 20:53:56 +00:00
const doc = new Document({
sections: [
{
properties: {
page: {
pageNumbers: {
start: 1,
formatType: NumberFormat.DECIMAL,
2021-03-19 20:53:56 +00:00
},
},
},
headers: {
default: new Header({
2019-11-21 01:02:46 +00:00
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
children: [
new TextRun("Foo Bar corp. "),
new TextRun({
children: ["Page Number ", PageNumber.CURRENT],
}),
new TextRun({
children: [" to ", PageNumber.TOTAL_PAGES],
}),
],
2019-11-21 01:02:46 +00:00
}),
],
}),
2021-03-19 20:53:56 +00:00
},
footers: {
default: new Footer({
2019-11-21 01:02:46 +00:00
children: [
2021-03-19 20:53:56 +00:00
new Paragraph({
alignment: AlignmentType.CENTER,
children: [
new TextRun("Foo Bar corp. "),
new TextRun({
children: ["Page Number: ", PageNumber.CURRENT],
}),
new TextRun({
children: [" to ", PageNumber.TOTAL_PAGES],
}),
],
2019-11-21 01:02:46 +00:00
}),
],
}),
2021-03-19 20:53:56 +00:00
},
children: [
new Paragraph({
children: [new TextRun("Hello World 1"), new PageBreak()],
}),
new Paragraph({
children: [new TextRun("Hello World 2"), new PageBreak()],
}),
new Paragraph({
children: [new TextRun("Hello World 3"), new PageBreak()],
}),
new Paragraph({
children: [new TextRun("Hello World 4"), new PageBreak()],
}),
new Paragraph({
children: [new TextRun("Hello World 5"), new PageBreak()],
}),
2019-07-31 08:48:02 +01:00
],
2021-03-19 20:53:56 +00:00
},
2019-07-31 08:48:02 +01:00
],
});
2019-01-16 00:13:18 +00:00
2019-08-07 22:12:14 +01:00
Packer.toBuffer(doc).then((buffer) => {
2019-01-16 00:13:18 +00:00
fs.writeFileSync("My Document.docx", buffer);
});