2017-04-12 15:55:30 +02:00
|
|
|
const docx = require('../build');
|
|
|
|
|
2017-12-19 21:49:44 +00:00
|
|
|
const doc = new docx.File({
|
|
|
|
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');
|
2017-04-14 11:09:08 +02:00
|
|
|
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');
|