Merge pull request #308 from filippomuscolino/master
Update documentation
This commit is contained in:
47
docs/usage/hyperlinks.md
Normal file
47
docs/usage/hyperlinks.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# Hyperlinks
|
||||||
|
|
||||||
|
There are two types of hyperlinks: internal (pointing to a bookmark inside the document) and external (pointing to an external url).
|
||||||
|
|
||||||
|
## Internal
|
||||||
|
|
||||||
|
To create an internal hyperlink you need first to create a bookmark (the paragraph that will be the destination of the hyperlink) with `doc.createBookmark(anchor, text)`.
|
||||||
|
|
||||||
|
A bookmark is composed of an anchor (an identifier) and the text displayed. After creating a bookmark just add it to a paragraph with `paragraph.addBookmark(bookmark)`
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const paragraph = this.doc.createParagraph();
|
||||||
|
const bookmark = this.doc.createBookmark('anchorForChapter1', 'This is chapter1');
|
||||||
|
paragraph.addBookmark(bookmark);
|
||||||
|
```
|
||||||
|
|
||||||
|
Then you can create an hyperlink pointing to that bookmark with `doc.createInternalHyperLink(anchor,text)`:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const paragraph = this.doc.createParagraph();
|
||||||
|
const link = this.doc.createInternalHyperLink('anchorForChapter1', 'This is a link to chapter1');
|
||||||
|
paragraph.addHyperLink(link);
|
||||||
|
```
|
||||||
|
|
||||||
|
## External
|
||||||
|
|
||||||
|
To create an external hyperlink you just need to specify the url and the text of the link, then add it to a paragraph with `doc.createHyperlink(url, text)`:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const paragraph = this.doc.createParagraph();
|
||||||
|
const link = this.doc.createHyperlink('https://docx.js.org', 'This is an external link');
|
||||||
|
paragraph.addHyperLink(link);
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Styling an hyperlink
|
||||||
|
|
||||||
|
It is possible to set the style of the text of an hyperlink. This can be done applying run formatting on `TextRun` property of the hyperlink.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
const link = this.doc.createHyperlink('https://docx.js.org', 'This is an external link');
|
||||||
|
link.TextRun.bold().italics()
|
||||||
|
```
|
@ -76,6 +76,22 @@ paragraph.heading1().center();
|
|||||||
|
|
||||||
The above will create a `heading 1` which is `centered`.
|
The above will create a `heading 1` which is `centered`.
|
||||||
|
|
||||||
|
### Justified text with breaks
|
||||||
|
|
||||||
|
When a paragraph is justified, you may want to not justify the contents of incomplete lines, which end in a soft line break.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
This is possible to achieve using:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
this.doc.Settings.addCompatibility().doNotExpandShiftReturn()
|
||||||
|
```
|
||||||
|
|
||||||
|
The result is:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Thematic Break
|
## Thematic Break
|
||||||
|
|
||||||
To add a break in the page, simply add `.thematicBreak()` on a paragraph:
|
To add a break in the page, simply add `.thematicBreak()` on a paragraph:
|
||||||
|
@ -96,6 +96,28 @@ Once you have got the cell, you can add data to it with the `addParagraph()` met
|
|||||||
cell.addParagraph(new Paragraph("Hello"));
|
cell.addParagraph(new Paragraph("Hello"));
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Set width of a cell
|
||||||
|
|
||||||
|
You can specify the width of a cell using:
|
||||||
|
|
||||||
|
`cell.Properties.setWidth(width, format)`
|
||||||
|
|
||||||
|
format can be:
|
||||||
|
* WidthType.AUTO
|
||||||
|
* WidthType.DXA: value is in twentieths of a point
|
||||||
|
* WidthType.NIL: is considered as zero
|
||||||
|
* WidthType.PCT: percent of table width
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
```ts
|
||||||
|
cell.Properties.setWidth(100, WidthType.DXA);
|
||||||
|
```
|
||||||
|
|
||||||
|
```ts
|
||||||
|
cell.Properties.setWidth('50%', WidthType.PCT);
|
||||||
|
```
|
||||||
|
|
||||||
## Borders
|
## Borders
|
||||||
|
|
||||||
BorderStyle can be imported from `docx`. Size determines the thickness. HTML color can be a hex code or alias such as `red`.
|
BorderStyle can be imported from `docx`. Size determines the thickness. HTML color can be a hex code or alias such as `red`.
|
||||||
@ -122,7 +144,18 @@ cell.Borders.addEndBorder([BorderStyle], [SIZE], [HTML COLOR]);
|
|||||||
import { BorderStyle } from "docx";
|
import { BorderStyle } from "docx";
|
||||||
|
|
||||||
cell.Borders.addStartBorder(BorderStyle.DOT_DOT_DASH, 3, "green");
|
cell.Borders.addStartBorder(BorderStyle.DOT_DOT_DASH, 3, "green");
|
||||||
cell.Borders.addStartBorder(BorderStyle.DOT_DOT_DASH, 3, "#ff8000");
|
cell.Borders.addEndBorder(BorderStyle.DOT_DOT_DASH, 3, "#ff8000");
|
||||||
|
```
|
||||||
|
|
||||||
|
### Google DOCS
|
||||||
|
|
||||||
|
Google DOCS does not support start and end borders, instead they use left and right borders. So to set left and right borders for Google DOCS you should use:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
import { BorderStyle } from "docx";
|
||||||
|
|
||||||
|
cell.Borders.addLeftBorder(BorderStyle.DOT_DOT_DASH, 3, "green");
|
||||||
|
cell.Borders.addRightBorder(BorderStyle.DOT_DOT_DASH, 3, "#ff8000");
|
||||||
```
|
```
|
||||||
|
|
||||||
## Set Width
|
## Set Width
|
||||||
@ -193,6 +226,23 @@ To have a table within a table
|
|||||||
cell.addTable(new Table(1, 1));
|
cell.addTable(new Table(1, 1));
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Pagination
|
||||||
|
|
||||||
|
###Prevent row pagination
|
||||||
|
To prevent breaking contents of a row across multiple pages, call `cantSplit()`:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
table.getRow(0).setCantSplit();
|
||||||
|
```
|
||||||
|
|
||||||
|
###Repeat row
|
||||||
|
If a table is paginated on multiple pages, it is possible to repeat a row at the top of each new page calling `setTableHeader()`:
|
||||||
|
|
||||||
|
```ts
|
||||||
|
table.getRow(0).setTableHeader();
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo4.ts ':include')
|
[Example](https://raw.githubusercontent.com/dolanmiu/docx/master/demo/demo4.ts ':include')
|
||||||
|
Reference in New Issue
Block a user