-
-
Notifications
You must be signed in to change notification settings - Fork 484
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #262 from aravindballa/master
Feature: add line numbers to section
- Loading branch information
Showing
5 changed files
with
75 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
// Example demonstrating line numbers. | ||
// Import from 'docx' rather than '../build' if you install from npm | ||
import * as fs from "fs"; | ||
import { Document, Paragraph, Packer, LineNumberRestartFormat } from "../build"; | ||
|
||
const doc = new Document( | ||
{}, | ||
{ | ||
lineNumberCountBy: 1, | ||
lineNumberRestart: LineNumberRestartFormat.CONTINUOUS, | ||
}, | ||
); | ||
|
||
|
||
|
||
doc.addParagraph(new Paragraph('Hello').heading1()); | ||
doc.createParagraph("Himenaeos duis luctus nullam fermentum lobortis potenti vivamus non dis, sed facilisis ultricies scelerisque aenean risus hac senectus. Adipiscing id venenatis justo ante gravida placerat, ac curabitur dis pellentesque proin bibendum risus, aliquam porta taciti vulputate primis. Tortor ipsum fermentum quam vel convallis primis nisl praesent tincidunt, lobortis quisque felis vitae condimentum class ut sem nam, aenean potenti pretium ac amet lacinia himenaeos mi. Aliquam nisl turpis hendrerit est morbi malesuada, augue interdum mus inceptos curabitur tristique, parturient feugiat sodales nulla facilisi. Aliquam non pulvinar purus nulla ex integer, velit faucibus vitae at bibendum quam, risus elit aenean adipiscing posuere."); | ||
doc.createParagraph("Sed laoreet id mattis egestas nam mollis elit lacinia convallis dui tincidunt ultricies habitant, pharetra per maximus interdum neque tempor risus efficitur morbi imperdiet senectus. Lectus laoreet senectus finibus inceptos donec potenti fermentum, ultrices eleifend odio suscipit magnis tellus maximus nibh, ac sit nullam eget felis himenaeos. Diam class sem magnis aenean commodo faucibus id proin mi, nullam sodales nec mus parturient ornare ad inceptos velit hendrerit, bibendum placerat eleifend integer facilisis urna dictumst suspendisse."); | ||
|
||
|
||
const packer = new Packer(); | ||
|
||
packer.toBuffer(doc).then((buffer) => { | ||
fs.writeFileSync("My Document.docx", buffer); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export * from "./line-number"; |
38 changes: 38 additions & 0 deletions
38
src/file/document/body/section-properties/line-number/line-number.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
// http://officeopenxml.com/WPsectionLineNumbering.php | ||
import { XmlAttributeComponent, XmlComponent } from "file/xml-components"; | ||
|
||
export enum LineNumberRestartFormat { | ||
CONTINUOUS = "continuous", | ||
NEW_SECTION = "newSection", | ||
NEW_PAGE = "newPage", | ||
} | ||
|
||
export interface ILineNumberAttributes { | ||
readonly lineNumberCountBy?: number; | ||
readonly lineNumberStart?: number; | ||
readonly lineNumberRestart?: LineNumberRestartFormat; | ||
readonly lineNumberDistance?: number; | ||
} | ||
|
||
export class LineNumberAttributes extends XmlAttributeComponent<ILineNumberAttributes> { | ||
protected readonly xmlKeys = { | ||
lineNumberCountBy: "w:countBy", | ||
lineNumberStart: "w:start", | ||
lineNumberRestart: "w:restart", | ||
lineNumberDistance: "w:distance", | ||
}; | ||
} | ||
|
||
export class LineNumberType extends XmlComponent { | ||
constructor(countBy?: number, start?: number, restart?: LineNumberRestartFormat, dist?: number) { | ||
super("w:lnNumType"); | ||
this.root.push( | ||
new LineNumberAttributes({ | ||
lineNumberCountBy: countBy, | ||
lineNumberStart: start, | ||
lineNumberRestart: restart, | ||
lineNumberDistance: dist, | ||
}), | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters