Compare commits

...

1 Commits

Author SHA1 Message Date
5e87e4fb0b Add run properties to paragraph 2020-12-19 20:06:23 +00:00
2 changed files with 37 additions and 0 deletions

View File

@ -0,0 +1,31 @@
// Add Run styles across the whole Paragraph
// Import from 'docx' rather than '../build' if you install from npm
import * as fs from "fs";
import { Document, Packer, Paragraph, TextRun } from "../build";
const doc = new Document();
doc.addSection({
children: [
new Paragraph({
runStyle: {
size: 100,
},
children: [
new TextRun("Hello World"),
new TextRun({
text: "Foo Bar",
bold: true,
}),
new TextRun({
text: "\tGithub is the best",
bold: true,
}),
],
}),
],
});
Packer.toBuffer(doc).then((buffer) => {
fs.writeFileSync("My Document.docx", buffer);
});

View File

@ -12,6 +12,7 @@ import { HeadingLevel, Style } from "./formatting/style";
import { LeaderType, TabStop, TabStopPosition, TabStopType } from "./formatting/tab-stop";
import { NumberProperties } from "./formatting/unordered-list";
import { OutlineLevel } from "./links";
import { IRunPropertiesOptions, RunProperties } from "./run";
import { Shading } from "./run/formatting";
export interface IParagraphStylePropertiesOptions {
@ -51,6 +52,7 @@ export interface IParagraphPropertiesOptions extends IParagraphStylePropertiesOp
readonly fill: string;
readonly color: string;
};
readonly runStyle?: IRunPropertiesOptions;
}
export class ParagraphProperties extends IgnoreIfEmptyXmlComponent {
@ -142,6 +144,10 @@ export class ParagraphProperties extends IgnoreIfEmptyXmlComponent {
if (options.shading) {
this.push(new Shading(options.shading.type, options.shading.fill, options.shading.color));
}
if (options.runStyle) {
this.push(new RunProperties(options.runStyle));
}
}
public push(item: XmlComponent): void {