deno.land / x / docx@8.5.0 / demo / 14-page-numbers.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081// Page numbers
import * as fs from "fs";import { AlignmentType, Document, Footer, Header, Packer, PageBreak, PageNumber, Paragraph, TextRun } from "docx";
const doc = new Document({ sections: [ { properties: { titlePage: true, }, headers: { default: new Header({ children: [ new Paragraph({ alignment: AlignmentType.RIGHT, children: [ new TextRun("My Title "), new TextRun({ children: ["Page ", PageNumber.CURRENT], }), ], }), ], }), first: new Header({ children: [ new Paragraph({ alignment: AlignmentType.RIGHT, children: [ new TextRun("First Page Header "), new TextRun({ children: ["Page ", PageNumber.CURRENT], }), ], }), ], }), }, footers: { default: new Footer({ children: [ new Paragraph({ alignment: AlignmentType.RIGHT, children: [ new TextRun("My Title "), new TextRun({ children: ["Footer - Page ", PageNumber.CURRENT, " of ", PageNumber.TOTAL_PAGES], }), ], }), ], }), first: new Footer({ children: [ new Paragraph({ alignment: AlignmentType.RIGHT, children: [ new TextRun("First Page Footer "), new TextRun({ children: ["Page ", PageNumber.CURRENT], }), ], }), ], }), }, children: [ new Paragraph({ children: [new TextRun("First Page"), new PageBreak()], }), new Paragraph("Second Page"), ], }, ],});
Packer.toBuffer(doc).then((buffer) => { fs.writeFileSync("My Document.docx", buffer);});
Version Info