deno.land / x / docx@8.5.0 / demo / 3-numbering-and-bullet-points.ts
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297// Numbering and bullet points example
import * as fs from "fs";import { AlignmentType, convertInchesToTwip, Document, Footer, Header, HeadingLevel, LevelFormat, Packer, Paragraph } from "docx";
const doc = new Document({ numbering: { config: [ { reference: "my-crazy-numbering", levels: [ { level: 0, format: LevelFormat.UPPER_ROMAN, text: "%1", alignment: AlignmentType.START, style: { paragraph: { indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.18) }, }, }, }, { level: 1, format: LevelFormat.DECIMAL, text: "%2.", alignment: AlignmentType.START, style: { paragraph: { indent: { left: convertInchesToTwip(1), hanging: convertInchesToTwip(0.68) }, }, }, }, { level: 2, format: LevelFormat.LOWER_LETTER, text: "%3)", alignment: AlignmentType.START, style: { paragraph: { indent: { left: convertInchesToTwip(1.5), hanging: convertInchesToTwip(1.18) }, }, }, }, { level: 3, format: LevelFormat.UPPER_LETTER, text: "%4)", alignment: AlignmentType.START, style: { paragraph: { indent: { left: 2880, hanging: 2420 }, }, }, }, ], }, { reference: "my-unique-bullet-points", levels: [ { level: 0, format: LevelFormat.BULLET, text: "\u1F60", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: convertInchesToTwip(0.5), hanging: convertInchesToTwip(0.25) }, }, }, }, { level: 1, format: LevelFormat.BULLET, text: "\u00A5", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: convertInchesToTwip(1), hanging: convertInchesToTwip(0.25) }, }, }, }, { level: 2, format: LevelFormat.BULLET, text: "\u273F", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: 2160, hanging: convertInchesToTwip(0.25) }, }, }, }, { level: 3, format: LevelFormat.BULLET, text: "\u267A", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: 2880, hanging: convertInchesToTwip(0.25) }, }, }, }, { level: 4, format: LevelFormat.BULLET, text: "\u2603", alignment: AlignmentType.LEFT, style: { paragraph: { indent: { left: 3600, hanging: convertInchesToTwip(0.25) }, }, }, }, ], }, ], }, sections: [ { headers: { default: new Header({ children: [ new Paragraph({ text: "Hey you", numbering: { reference: "my-crazy-numbering", level: 0, }, }), new Paragraph({ text: "What's up fam", numbering: { reference: "my-crazy-numbering", level: 1, }, }), ], }), }, footers: { default: new Footer({ children: [ new Paragraph({ text: "Hey you", numbering: { reference: "my-crazy-numbering", level: 0, }, }), new Paragraph({ text: "What's up fam", numbering: { reference: "my-crazy-numbering", level: 1, }, }), ], }), }, children: [ new Paragraph({ text: "Hey you", numbering: { reference: "my-crazy-numbering", level: 0, }, }), new Paragraph({ text: "What's up fam", numbering: { reference: "my-crazy-numbering", level: 1, }, }), new Paragraph({ text: "Hello World 2", numbering: { reference: "my-crazy-numbering", level: 1, }, }), new Paragraph({ text: "Yeah boi", numbering: { reference: "my-crazy-numbering", 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, }, }), new Paragraph({ text: "101 MSXFM", numbering: { reference: "my-crazy-numbering", level: 3, }, }), new Paragraph({ text: "back to level 1", numbering: { reference: "my-crazy-numbering", level: 1, }, }), new Paragraph({ text: "back to level 0", numbering: { reference: "my-crazy-numbering", level: 0, }, }), new Paragraph({ text: "Custom Bullet points", heading: HeadingLevel.HEADING_1, }), new Paragraph({ text: "What's up fam", numbering: { reference: "my-unique-bullet-points", level: 0, }, }), new Paragraph({ text: "Hey you", numbering: { reference: "my-unique-bullet-points", level: 0, }, }), new Paragraph({ text: "What's up fam", numbering: { reference: "my-unique-bullet-points", level: 1, }, }), new Paragraph({ text: "Hello World 2", numbering: { reference: "my-unique-bullet-points", level: 2, }, }), new Paragraph({ text: "Yeah boi", numbering: { reference: "my-unique-bullet-points", level: 3, }, }), new Paragraph({ text: "my Awesome numbering", numbering: { reference: "my-unique-bullet-points", level: 4, }, }), new Paragraph({ text: "Back to level 1", numbering: { reference: "my-unique-bullet-points", level: 1, }, }), ], }, ],});
Packer.toBuffer(doc).then((buffer) => { fs.writeFileSync("My Document.docx", buffer);});
Version Info