Files
docx-js/demo/29-numbered-lists.ts

285 lines
8.0 KiB
TypeScript
Raw Normal View History

2019-02-26 22:20:20 +00:00
// Numbered lists
2021-03-12 03:58:05 +00:00
// The lists can also be restarted by specifying the instance number
2019-02-26 22:20:20 +00:00
// Import from 'docx' rather than '../build' if you install from npm
2018-09-26 17:47:17 +03:00
import * as fs from "fs";
2021-03-12 03:58:05 +00:00
import { AlignmentType, convertInchesToTwip, Document, HeadingLevel, LevelFormat, Packer, Paragraph } from "../build";
2018-09-26 17:47:17 +03:00
2019-11-08 03:11:19 +00:00
const doc = new Document({
numbering: {
config: [
{
levels: [
{
level: 0,
format: LevelFormat.UPPER_ROMAN,
2019-11-08 03:11:19 +00:00
text: "%1",
alignment: AlignmentType.START,
style: {
paragraph: {
2020-12-24 03:37:43 +00:00
indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.18) },
2019-11-08 03:11:19 +00:00
},
},
},
],
reference: "my-crazy-reference",
},
2019-11-23 21:06:15 +00:00
{
levels: [
{
level: 0,
format: LevelFormat.DECIMAL,
2019-11-23 21:06:15 +00:00
text: "%1",
alignment: AlignmentType.START,
style: {
paragraph: {
2020-12-24 03:37:43 +00:00
indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.18) },
2019-11-23 21:06:15 +00:00
},
},
},
],
reference: "my-number-numbering-reference",
},
{
levels: [
{
level: 0,
format: LevelFormat.DECIMAL_ZERO,
text: "[%1]",
alignment: AlignmentType.START,
style: {
paragraph: {
indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.18) },
},
},
},
],
reference: "padded-numbering-reference",
},
2019-11-08 03:11:19 +00:00
],
},
});
2018-09-26 17:47:17 +03:00
2019-07-31 08:48:02 +01:00
doc.addSection({
children: [
new Paragraph({
text: "line with contextual spacing",
numbering: {
2019-11-08 03:11:19 +00:00
reference: "my-crazy-reference",
2019-07-31 08:48:02 +01:00
level: 0,
},
contextualSpacing: true,
spacing: {
before: 200,
},
}),
new Paragraph({
text: "line with contextual spacing",
numbering: {
2019-11-08 03:11:19 +00:00
reference: "my-crazy-reference",
2019-07-31 08:48:02 +01:00
level: 0,
},
contextualSpacing: true,
spacing: {
before: 200,
},
}),
new Paragraph({
text: "line without contextual spacing",
numbering: {
2019-11-08 03:11:19 +00:00
reference: "my-crazy-reference",
2019-07-31 08:48:02 +01:00
level: 0,
},
contextualSpacing: false,
spacing: {
before: 200,
},
}),
new Paragraph({
text: "line without contextual spacing",
numbering: {
2019-11-08 03:11:19 +00:00
reference: "my-crazy-reference",
2019-07-31 08:48:02 +01:00
level: 0,
},
contextualSpacing: false,
spacing: {
before: 200,
},
}),
2019-11-23 21:06:15 +00:00
new Paragraph({
text: "Step 1 - Add sugar",
numbering: {
reference: "my-number-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "Step 2 - Add wheat",
numbering: {
reference: "my-number-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "Step 3 - Put in oven",
numbering: {
reference: "my-number-numbering-reference",
level: 0,
},
}),
2021-03-12 03:58:05 +00:00
new Paragraph({
text: "Next",
heading: HeadingLevel.HEADING_2,
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
2021-03-12 03:58:05 +00:00
instance: 2,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
2021-03-12 03:58:05 +00:00
instance: 2,
},
}),
2021-03-12 03:58:05 +00:00
new Paragraph({
text: "Next",
heading: HeadingLevel.HEADING_2,
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
2021-03-12 03:58:05 +00:00
instance: 3,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
2021-03-12 03:58:05 +00:00
instance: 3,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
2021-03-12 03:58:05 +00:00
instance: 3,
},
}),
2021-03-12 03:58:05 +00:00
new Paragraph({
text: "Next",
heading: HeadingLevel.HEADING_2,
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
new Paragraph({
text: "test",
numbering: {
reference: "padded-numbering-reference",
level: 0,
},
}),
2019-07-31 08:48:02 +01:00
],
2019-06-17 01:51:57 +01:00
});
2018-09-26 17:47:17 +03:00
2019-08-07 22:12:14 +01:00
Packer.toBuffer(doc).then((buffer) => {
2018-09-26 17:47:17 +03:00
fs.writeFileSync("My Document.docx", buffer);
2019-01-04 00:11:50 +00:00
});