DOCX Demo 3

node v10.21.0
version: 5.0.1
endpointsharetweet
const docx = require('docx@5.0.2'); const express = require("@runkit/runkit/express-endpoint/1.0.0"); const app = express(exports); const { AlignmentType, Document, Packer, Paragraph } = docx; app.get("/", async (req, res) => { const doc = new Document({ numbering: { config: [ { reference: "my-crazy-numbering", levels: [ { level: 0, format: "upperRoman", text: "%1", alignment: AlignmentType.START, style: { paragraph: { indent: { left: 720, hanging: 260 }, }, }, }, { level: 1, format: "decimal", text: "%2.", alignment: AlignmentType.START, style: { paragraph: { indent: { left: 1440, hanging: 980 }, }, }, }, { level: 2, format: "lowerLetter", text: "%3)", alignment: AlignmentType.START, style: { paragraph: { indent: { left: 2160, hanging: 1700 }, }, }, }, { level: 3, format: "upperLetter", text: "%4)", alignment: AlignmentType.START, style: { paragraph: { indent: { left: 2880, hanging: 2420 }, }, }, }, ], }, ], }, }); doc.addSection({ 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, }, }), ], }); const b64string = await Packer.toBase64String(doc); res.setHeader('Content-Disposition', 'attachment; filename=My Document.docx'); res.send(Buffer.from(b64string, 'base64')); });
Loading…

no comments

    sign in to comment