Files
docx-js/demo/demo16.ts

85 lines
2.1 KiB
TypeScript
Raw Normal View History

2018-08-21 02:46:21 +01:00
// Multiple sections and headers
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
import { Document, Packer, PageNumberFormat, PageOrientation, Paragraph, TextRun } from "../build";
2018-08-21 02:46:21 +01:00
const doc = new Document();
const paragraph = new Paragraph("Hello World").pageBreak();
2019-06-25 23:17:56 +01:00
doc.add(paragraph);
2018-08-21 02:46:21 +01:00
const header = doc.createHeader();
2019-06-25 23:17:56 +01:00
header.add(new Paragraph("Header on another page"));
2018-08-21 02:46:21 +01:00
const footer = doc.createFooter();
2019-06-25 23:17:56 +01:00
footer.add(new Paragraph("Footer on another page"));
2018-08-21 02:46:21 +01:00
doc.addSection({
2018-10-05 01:33:17 +01:00
headers: {
default: header,
},
footers: {
default: footer,
},
2018-08-21 02:46:21 +01:00
pageNumberStart: 1,
pageNumberFormatType: PageNumberFormat.DECIMAL,
});
2019-06-25 23:17:56 +01:00
doc.add(new Paragraph("hello"));
2018-08-21 02:46:21 +01:00
doc.addSection({
2018-10-05 01:33:17 +01:00
headers: {
default: header,
},
footers: {
default: footer,
},
2018-08-21 02:46:21 +01:00
pageNumberStart: 1,
pageNumberFormatType: PageNumberFormat.DECIMAL,
orientation: PageOrientation.LANDSCAPE,
});
2019-06-25 23:17:56 +01:00
doc.add(new Paragraph("hello in landscape"));
2018-08-21 02:46:21 +01:00
const header2 = doc.createHeader();
2019-01-15 00:23:01 +00:00
const pageNumber = new TextRun("Page number: ").pageNumber();
2019-06-25 23:17:56 +01:00
header2.add(new Paragraph({}).addRun(pageNumber));
doc.addSection({
headers: {
default: header2,
},
orientation: PageOrientation.PORTRAIT,
});
2019-06-25 23:17:56 +01:00
doc.add(new Paragraph("Page number in the header must be 2, because it continues from the previous section."));
doc.addSection({
headers: {
default: header2,
},
pageNumberFormatType: PageNumberFormat.UPPER_ROMAN,
orientation: PageOrientation.PORTRAIT,
});
2019-06-25 23:17:56 +01:00
doc.add(new Paragraph(
2019-01-15 00:23:01 +00:00
"Page number in the header must be III, because it continues from the previous section, but is defined as upper roman.",
2019-06-13 01:07:00 +01:00
));
doc.addSection({
headers: {
default: header2,
},
pageNumberFormatType: PageNumberFormat.DECIMAL,
pageNumberStart: 25,
orientation: PageOrientation.PORTRAIT,
});
2019-06-25 23:17:56 +01:00
doc.add(new Paragraph("Page number in the header must be 25, because it is defined to start at 25 and to be decimal in this section."));
2018-08-21 02:46:21 +01:00
const packer = new Packer();
packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync("My Document.docx", buffer);
});