Files
docx-js/demo/demo2.js

75 lines
2.3 KiB
JavaScript
Raw Normal View History

2017-04-12 15:55:30 +02:00
const docx = require('../build');
const doc = new docx.Document({
2017-12-19 21:49:44 +00:00
creator: 'Clippy',
title: 'Sample Document',
description: 'A brief example of using docx',
});
doc.Styles.createParagraphStyle('Heading1', 'Heading 1')
2017-04-12 15:55:30 +02:00
.basedOn("Normal")
.next("Normal")
.quickFormat()
.size(28)
.bold()
.italics()
.spacing({after: 120});
2017-12-19 21:49:44 +00:00
doc.Styles.createParagraphStyle('Heading2', 'Heading 2')
2017-04-12 15:55:30 +02:00
.basedOn("Normal")
.next("Normal")
.quickFormat()
.size(26)
.bold()
.underline('double', 'FF0000')
.spacing({before: 240, after: 120});
2017-12-19 21:49:44 +00:00
doc.Styles.createParagraphStyle('aside', 'Aside')
2017-04-12 15:55:30 +02:00
.basedOn('Normal')
.next('Normal')
.color('999999')
.italics()
.indent(720)
.spacing({line: 276});
2017-12-19 21:49:44 +00:00
doc.Styles.createParagraphStyle('wellSpaced', 'Well Spaced')
2017-04-12 15:55:30 +02:00
.basedOn('Normal')
.spacing({line: 276, before: 20 * 72 * .1, after: 20 * 72 * .05});
2017-12-19 21:49:44 +00:00
doc.Styles.createParagraphStyle('ListParagraph', 'List Paragraph')
2017-04-12 15:55:30 +02:00
.quickFormat()
.basedOn('Normal');
2017-12-19 21:49:44 +00:00
const numberedAbstract = doc.Numbering.createAbstractNumbering();
2017-04-12 15:55:30 +02:00
numberedAbstract.createLevel(0, "lowerLetter", "%1)", "left");
doc.createParagraph('Test heading1, bold and italicized').heading1();
doc.createParagraph('Some simple content');
doc.createParagraph('Test heading2 with double red underline').heading2();
2017-12-19 21:49:44 +00:00
const letterNumbering = doc.Numbering.createConcreteNumbering(numberedAbstract);
const letterNumbering5 = doc.Numbering.createConcreteNumbering(numberedAbstract);
2017-04-12 15:55:30 +02:00
letterNumbering5.overrideLevel(0, 5);
doc.createParagraph('Option1').setNumbering(letterNumbering, 0);
doc.createParagraph('Option5 -- override 2 to 5').setNumbering(letterNumbering5, 0);
doc.createParagraph('Option3').setNumbering(letterNumbering, 0);
doc.createParagraph()
.createTextRun('Some monospaced content')
.font('Monospace');
doc.createParagraph('An aside, in light gray italics and indented').style('aside');
doc.createParagraph('This is normal, but well-spaced text').style('wellSpaced');
const para = doc.createParagraph();
para.createTextRun('This is a bold run,').bold();
para.createTextRun(' switching to normal ');
para.createTextRun('and then underlined ').underline();
para.createTextRun('and back to normal.');
2017-04-12 15:55:30 +02:00
2017-12-19 21:49:44 +00:00
const exporter = new docx.LocalPacker(doc);
exporter.pack('My Document');
console.log('Document created successfully at project root!');