4.0 KiB
Text Runs
!> TextRuns requires an understanding of Paragraphs.
You can add multiple text runs
in Paragraphs
. This is the most verbose way of writing a Paragraph
but it is also the most flexible:
import { Paragraph, TextRun } from "docx";
const paragraph = new Paragraph({
children: [new TextRun("My awesome text here for my university dissertation"), new TextRun("Foo Bar")],
});
Text objects have methods inside which changes the way the text is displayed.
Typographical Emphasis
More info here
Bold
const text = new TextRun({
text: "Foo Bar",
bold: true,
});
Italics
const text = new TextRun({
text: "Foo Bar",
italics: true,
});
Underline
Underline has a few options
Options
Property | Type | Notes | Possible Values |
---|---|---|---|
type | UnderlineType |
Optional | SINGLE, WORD, DOUBLE, THICK, DOTTED, DOTTEDHEAV, DASH, DASHEDHEAV, DASHLONG, DASHLONGHEAV, DOTDASH, DASHDOTHEAVY, DOTDOTDAS, DASHDOTDOTHEAVY, WAVE, WAVYHEAVY, WAVYDOUBLE |
color | string |
Optional | Color Hex values |
Example:
const text = new TextRun({
text: "and then underlined ",
underline: {
type: UnderlineType.DOUBLE,
color: "990011",
},
});
To do a simple vanilla underline:
const text = new TextRun({
text: "and then underlined ",
underline: {},
});
Emphasis Mark
const text = new TextRun({
text: "and then emphasis mark",
emphasisMark: {},
});
Shading and Highlighting
const text = new TextRun({
text: "shading",
shading: {
type: ShadingType.REVERSE_DIAGONAL_STRIPE,
color: "00FFFF",
fill: "FF0000",
},
});
const text = new TextRun({
text: "highlighting",
highlight: "yellow",
});
Strike through
const text = new TextRun({
text: "strike",
strike: true,
});
Double strike through
const text = new TextRun({
text: "doubleStrike",
doubleStrike: true,
});
Superscript
const text = new TextRun({
text: "superScript",
superScript: true,
});
Subscript
const text = new TextRun({
text: "subScript",
subScript: true,
});
All Capitals
const text = new TextRun({
text: "allCaps",
allCaps: true,
});
Small Capitals
const text = new TextRun({
text: "smallCaps",
smallCaps: true,
});
Vanish and SpecVanish
You may want to hide your text in your document.
Vanish
should affect the normal display of text, but an application may have settings to force hidden text to be displayed.
const text = new TextRun({
text: "This text will be hidden",
vanish: true,
});
SpecVanish
was typically used to ensure that a paragraph style can be applied to a part of a paragraph, and still appear as in the Table of Contents (which in previous word processors would ignore the use of the style if it were being used as a character style).
const text = new TextRun({
text: "This text will be hidden forever.",
specVanish: true,
});
Break
Sometimes you would want to put text underneath another line of text but inside the same paragraph.
const text = new TextRun({
text: "break",
break: 1,
});
Adding two breaks:
const text = new TextRun({
text: "break",
break: 2,
});