diff --git a/ts/docx/document/document.ts b/ts/docx/document/document.ts new file mode 100644 index 0000000000..fa13145b94 --- /dev/null +++ b/ts/docx/document/document.ts @@ -0,0 +1,56 @@ +// http://officeopenxml.com/WPdocument.php +import { Paragraph } from "../paragraph"; +import { Table } from "../table"; +import { XmlComponent } from "../xml-components"; +import { Body } from "./body"; +import { DocumentAttributes } from "./document-attributes"; + +export class Document extends XmlComponent { + private body: Body; + + constructor() { + super("w:document"); + this.root.push(new DocumentAttributes({ + wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas", + mc: "http://schemas.openxmlformats.org/markup-compatibility/2006", + o: "urn:schemas-microsoft-com:office:office", + r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships", + m: "http://schemas.openxmlformats.org/officeDocument/2006/math", + v: "urn:schemas-microsoft-com:vml", + wp14: "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing", + wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", + w10: "urn:schemas-microsoft-com:office:word", + w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", + w14: "http://schemas.microsoft.com/office/word/2010/wordml", + w15: "http://schemas.microsoft.com/office/word/2012/wordml", + wpg: "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup", + wpi: "http://schemas.microsoft.com/office/word/2010/wordprocessingInk", + wne: "http://schemas.microsoft.com/office/word/2006/wordml", + wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape", + Ignorable: "w14 w15 wp14", + })); + this.body = new Body(); + this.root.push(this.body); + } + + public addParagraph(paragraph: Paragraph): void { + this.body.push(paragraph); + } + + public createParagraph(text?: string): Paragraph { + const para = new Paragraph(text); + this.addParagraph(para); + return para; + } + + public addTable(table: Table): void { + this.body.push(table); + } + + public createTable(rows: number, cols: number): Table { + const table = new Table(rows, cols); + this.addTable(table); + return table; + } + +} diff --git a/ts/docx/document/index.ts b/ts/docx/document/index.ts index 7b0d99aaed..fe6d89c0eb 100644 --- a/ts/docx/document/index.ts +++ b/ts/docx/document/index.ts @@ -1,55 +1 @@ -import { Paragraph } from "../paragraph"; -import { Table } from "../table"; -import { XmlComponent } from "../xml-components"; -import { Body } from "./body"; -import { DocumentAttributes } from "./document-attributes"; - -export class Document extends XmlComponent { - private body: Body; - - constructor() { - super("w:document"); - this.root.push(new DocumentAttributes({ - wpc: "http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas", - mc: "http://schemas.openxmlformats.org/markup-compatibility/2006", - o: "urn:schemas-microsoft-com:office:office", - r: "http://schemas.openxmlformats.org/officeDocument/2006/relationships", - m: "http://schemas.openxmlformats.org/officeDocument/2006/math", - v: "urn:schemas-microsoft-com:vml", - wp14: "http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing", - wp: "http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing", - w10: "urn:schemas-microsoft-com:office:word", - w: "http://schemas.openxmlformats.org/wordprocessingml/2006/main", - w14: "http://schemas.microsoft.com/office/word/2010/wordml", - w15: "http://schemas.microsoft.com/office/word/2012/wordml", - wpg: "http://schemas.microsoft.com/office/word/2010/wordprocessingGroup", - wpi: "http://schemas.microsoft.com/office/word/2010/wordprocessingInk", - wne: "http://schemas.microsoft.com/office/word/2006/wordml", - wps: "http://schemas.microsoft.com/office/word/2010/wordprocessingShape", - Ignorable: "w14 w15 wp14", - })); - this.body = new Body(); - this.root.push(this.body); - } - - public addParagraph(paragraph: Paragraph): void { - this.body.push(paragraph); - } - - public createParagraph(text?: string): Paragraph { - const para = new Paragraph(text); - this.addParagraph(para); - return para; - } - - public addTable(table: Table): void { - this.body.push(table); - } - - public createTable(rows: number, cols: number): Table { - const table = new Table(rows, cols); - this.addTable(table); - return table; - } - -} +export * from "./document";