Files
docx-js/docs/usage/text.md
2020-05-22 12:32:40 +08:00

131 lines
2.7 KiB
Markdown

# Text Runs
!> TextRuns requires an understanding of [Paragraphs](usage/paragraph.md).
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:
```ts
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](https://english.stackexchange.com/questions/97081/what-is-the-typography-term-which-refers-to-the-usage-of-bold-italics-and-unde)
### Bold
```ts
const text = new TextRun({
text: "Foo Bar",
bold: true,
});
```
### Italics
```ts
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:**
```ts
const text = new TextRun({
text: "and then underlined ",
underline: {
type: UnderlineType.DOUBLE,
color: "990011",
},
});
```
To do a simple vanilla underline:
```ts
const text = new TextRun({
text: "and then underlined ",
underline: {},
});
```
### Emphasis Mark
```ts
const text = new TextRun({
text: "and then emphasis mark",
emphasisMark: {},
});
```
### Strike through
```ts
text.strike();
```
### Double strike through
```ts
text.doubleStrike();
```
### Superscript
```ts
text.superScript();
```
### Subscript
```ts
text.subScript();
```
### All Capitals
```ts
text.allCaps();
```
### Small Capitals
```ts
text.smallCaps();
```
## Break
Sometimes you would want to put text underneath another line of text but inside the same paragraph.
```ts
text.break();
```
## Chaining
What if you want to create a paragraph which is **_bold_** and **_italic_**?
```ts
paragraph.bold().italics();
```