deno.land / x / docx@8.5.0 / demo / 47-number-of-total-pages-section.ts
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677// Multiple sections with total number of pages in each section
import * as fs from "fs";import { AlignmentType, Document, Footer, Header, Packer, PageBreak, PageNumber, NumberFormat, Paragraph, TextRun } from "docx";
const header = new Header({ children: [ new Paragraph({ children: [ new TextRun("Header on another page"), new TextRun({ children: ["Page number: ", PageNumber.CURRENT], }), new TextRun({ children: [" to ", PageNumber.TOTAL_PAGES_IN_SECTION], }), ], alignment: AlignmentType.CENTER, }), ],});
const footer = new Footer({ children: [new Paragraph("Foo Bar corp. ")],});
const doc = new Document({ sections: [ { properties: { page: { pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL, }, }, }, headers: { default: header, }, footers: { default: footer, }, children: [ new Paragraph({ children: [new TextRun("Section 1"), new PageBreak(), new TextRun("Section 1"), new PageBreak()], }), ], }, { properties: { page: { pageNumbers: { start: 1, formatType: NumberFormat.DECIMAL, }, }, }, headers: { default: header, }, footers: { default: footer, }, children: [ new Paragraph({ children: [new TextRun("Section 2"), new PageBreak(), new TextRun("Section 2"), new PageBreak()], }), ], }, ],});
Packer.toBuffer(doc).then((buffer) => { fs.writeFileSync("My Document.docx", buffer);});
Version Info