Files
docx-js/demo/3-numbering-and-bullet-points.ts

77 lines
2.0 KiB
TypeScript
Raw Normal View History

2018-08-21 02:46:21 +01:00
// Numbering and bullet points example
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
2019-07-31 08:48:02 +01:00
import { Document, Numbering, Packer, Paragraph } from "../build";
2018-08-21 02:46:21 +01:00
const doc = new Document();
const numbering = new Numbering();
const abstractNum = numbering.createAbstractNumbering();
2019-07-31 08:48:02 +01:00
abstractNum.createLevel(0, "upperRoman", "%1", "start").indent({ left: 720, hanging: 260 });
abstractNum.createLevel(1, "decimal", "%2.", "start").indent({ left: 1440, hanging: 980 });
abstractNum.createLevel(2, "lowerLetter", "%3)", "start").indent({ left: 2160, hanging: 1700 });
2018-08-21 02:46:21 +01:00
const concrete = numbering.createConcreteNumbering(abstractNum);
2019-07-31 08:48:02 +01:00
doc.addSection({
children: [
new Paragraph({
text: "Hey you",
numbering: {
num: concrete,
level: 0,
},
}),
new Paragraph({
text: "What's up fam",
numbering: {
num: concrete,
level: 1,
},
}),
new Paragraph({
text: "Hello World 2",
numbering: {
num: concrete,
level: 1,
},
}),
new Paragraph({
text: "Yeah boi",
numbering: {
num: concrete,
level: 2,
},
}),
new Paragraph({
text: "Hey you",
bullet: {
level: 0,
},
}),
new Paragraph({
text: "What's up fam",
bullet: {
level: 1,
},
}),
new Paragraph({
text: "Hello World 2",
bullet: {
level: 2,
},
}),
new Paragraph({
text: "Yeah boi",
bullet: {
level: 3,
},
}),
],
2019-06-17 01:51:57 +01:00
});
2018-08-21 02:46:21 +01:00
2019-08-07 22:12:14 +01:00
Packer.toBuffer(doc).then((buffer) => {
2018-08-21 02:46:21 +01:00
fs.writeFileSync("My Document.docx", buffer);
});