2018-08-21 02:46:21 +01:00
|
|
|
// Setting styles with JavaScript configuration
|
|
|
|
// Import from 'docx' rather than '../build' if you install from npm
|
|
|
|
import * as fs from "fs";
|
2019-09-13 00:51:20 +01:00
|
|
|
import { AlignmentType, Document, Footer, HeadingLevel, Media, Packer, Paragraph, Table, TableCell, TableRow } from "../build";
|
2018-03-10 23:04:45 +00:00
|
|
|
|
2019-07-31 08:48:02 +01:00
|
|
|
const doc = new Document();
|
2018-03-10 23:04:45 +00:00
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("Heading1", "Heading 1")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.quickFormat()
|
|
|
|
.font("Calibri")
|
|
|
|
.size(52)
|
|
|
|
.center()
|
|
|
|
.bold()
|
2018-08-21 19:27:07 +01:00
|
|
|
.color("000000")
|
2018-03-10 23:04:45 +00:00
|
|
|
.spacing({ line: 340 })
|
|
|
|
.underline("single", "000000");
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("Heading2", "Heading 2")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.font("Calibri")
|
|
|
|
.quickFormat()
|
|
|
|
.size(26)
|
|
|
|
.bold()
|
|
|
|
.spacing({ line: 340 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("Heading3", "Heading 3")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.font("Calibri")
|
|
|
|
.quickFormat()
|
|
|
|
.size(26)
|
|
|
|
.bold()
|
|
|
|
.spacing({ line: 276 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("Heading4", "Heading 4")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.justified()
|
|
|
|
.font("Calibri")
|
|
|
|
.size(26)
|
|
|
|
.bold();
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("normalPara", "Normal Para")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.font("Calibri")
|
|
|
|
.quickFormat()
|
|
|
|
.leftTabStop(453.543307087)
|
2018-08-21 02:46:21 +01:00
|
|
|
.maxRightTabStop()
|
2018-03-10 23:04:45 +00:00
|
|
|
.size(26)
|
|
|
|
.spacing({ line: 276, before: 20 * 72 * 0.1, after: 20 * 72 * 0.05 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("normalPara2", "Normal Para2")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.quickFormat()
|
|
|
|
.font("Calibri")
|
|
|
|
.size(26)
|
|
|
|
.justified()
|
|
|
|
.spacing({ line: 276, before: 20 * 72 * 0.1, after: 20 * 72 * 0.05 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("aside", "Aside")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.next("Normal")
|
|
|
|
.color("999999")
|
|
|
|
.italics()
|
2018-08-21 02:46:21 +01:00
|
|
|
.indent({ left: 720 })
|
2018-03-10 23:04:45 +00:00
|
|
|
.spacing({ line: 276 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("wellSpaced", "Well Spaced")
|
|
|
|
.basedOn("Normal")
|
|
|
|
.spacing({ line: 276, before: 20 * 72 * 0.1, after: 20 * 72 * 0.05 });
|
|
|
|
|
|
|
|
doc.Styles.createParagraphStyle("ListParagraph", "List Paragraph")
|
|
|
|
.quickFormat()
|
|
|
|
.basedOn("Normal");
|
|
|
|
|
2019-07-31 08:48:02 +01:00
|
|
|
const image = Media.addImage(doc, fs.readFileSync("./demo/images/pizza.gif"));
|
2018-03-10 23:04:45 +00:00
|
|
|
|
2019-03-18 23:50:21 +00:00
|
|
|
const table = new Table({
|
2019-09-13 00:51:20 +01:00
|
|
|
rows: [
|
|
|
|
new TableRow({
|
|
|
|
children: [
|
|
|
|
new TableCell({
|
|
|
|
children: [new Paragraph("Test cell 1.")],
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
}),
|
|
|
|
new TableRow({
|
|
|
|
children: [
|
|
|
|
new TableCell({
|
|
|
|
children: [new Paragraph("Test cell 2.")],
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
}),
|
|
|
|
new TableRow({
|
|
|
|
children: [
|
|
|
|
new TableCell({
|
|
|
|
children: [new Paragraph("Test cell 3.")],
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
}),
|
|
|
|
new TableRow({
|
|
|
|
children: [
|
|
|
|
new TableCell({
|
|
|
|
children: [new Paragraph("Test cell 4.")],
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
}),
|
|
|
|
],
|
2019-03-18 23:50:21 +00:00
|
|
|
});
|
2018-12-29 01:57:20 +00:00
|
|
|
|
2019-07-31 08:48:02 +01:00
|
|
|
const image1 = Media.addImage(doc, fs.readFileSync("./demo/images/pizza.gif"));
|
|
|
|
const image2 = Media.addImage(doc, fs.readFileSync("./demo/images/pizza.gif"));
|
2018-03-10 23:04:45 +00:00
|
|
|
|
2019-07-31 08:48:02 +01:00
|
|
|
doc.addSection({
|
|
|
|
properties: {
|
|
|
|
top: 700,
|
|
|
|
right: 700,
|
|
|
|
bottom: 700,
|
|
|
|
left: 700,
|
2018-08-21 02:46:21 +01:00
|
|
|
},
|
2019-07-31 08:48:02 +01:00
|
|
|
footers: {
|
|
|
|
default: new Footer({
|
|
|
|
children: [
|
|
|
|
new Paragraph({
|
|
|
|
text: "1",
|
|
|
|
style: "normalPara",
|
|
|
|
alignment: AlignmentType.RIGHT,
|
|
|
|
}),
|
|
|
|
],
|
|
|
|
}),
|
2018-08-21 02:46:21 +01:00
|
|
|
},
|
2019-07-31 08:48:02 +01:00
|
|
|
children: [
|
|
|
|
new Paragraph(image),
|
|
|
|
new Paragraph({
|
|
|
|
text: "HEADING",
|
|
|
|
heading: HeadingLevel.HEADING_1,
|
|
|
|
alignment: AlignmentType.CENTER,
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Ref. :",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Date :",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "To,",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "The Superindenting Engineer,(O &M)",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Sub : ",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Ref. : ",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Sir,",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
new Paragraph({
|
|
|
|
text: "BRIEF DESCRIPTION",
|
|
|
|
style: "normalPara",
|
|
|
|
}),
|
|
|
|
table,
|
|
|
|
new Paragraph(image1),
|
|
|
|
new Paragraph({
|
|
|
|
text: "Test",
|
|
|
|
style: "normalPara2",
|
|
|
|
}),
|
|
|
|
new Paragraph(image2),
|
2019-06-13 01:07:00 +01:00
|
|
|
new Paragraph({
|
2019-07-31 08:48:02 +01:00
|
|
|
text: "Test 2",
|
2019-06-13 01:07:00 +01:00
|
|
|
style: "normalPara2",
|
|
|
|
}),
|
2019-07-31 08:48:02 +01:00
|
|
|
],
|
2018-03-10 23:04:45 +00:00
|
|
|
});
|
|
|
|
|
2019-08-07 22:12:14 +01:00
|
|
|
Packer.toBuffer(doc).then((buffer) => {
|
2018-08-21 02:46:21 +01:00
|
|
|
fs.writeFileSync("My Document.docx", buffer);
|
|
|
|
});
|