diff --git a/demo/demo29.ts b/demo/demo29.ts index 0650aac09c..08fc139de6 100644 --- a/demo/demo29.ts +++ b/demo/demo29.ts @@ -15,10 +15,22 @@ const item2 = new Paragraph("line with contextual spacing"); const item3 = new Paragraph("line without contextual spacing"); const item4 = new Paragraph("line without contextual spacing"); -item1.setNumbering(concrete, 0).spacing({before: 200}).contextualSpacing(true); -item2.setNumbering(concrete, 0).spacing({before: 200}).contextualSpacing(true); -item3.setNumbering(concrete, 0).spacing({before: 200}).contextualSpacing(false); -item4.setNumbering(concrete, 0).spacing({before: 200}).contextualSpacing(false); +item1 + .setNumbering(concrete, 0) + .spacing({ before: 200 }) + .contextualSpacing(true); +item2 + .setNumbering(concrete, 0) + .spacing({ before: 200 }) + .contextualSpacing(true); +item3 + .setNumbering(concrete, 0) + .spacing({ before: 200 }) + .contextualSpacing(false); +item4 + .setNumbering(concrete, 0) + .spacing({ before: 200 }) + .contextualSpacing(false); doc.addParagraph(item1); doc.addParagraph(item2); @@ -29,4 +41,4 @@ const packer = new Packer(); packer.toBuffer(doc).then((buffer) => { fs.writeFileSync("My Document.docx", buffer); -}); \ No newline at end of file +}); diff --git a/src/file/document/document.ts b/src/file/document/document.ts index d9dae1020f..5ca48ccb50 100644 --- a/src/file/document/document.ts +++ b/src/file/document/document.ts @@ -53,8 +53,9 @@ export class Document extends XmlComponent { return para; } - public addTable(table: Table): void { + public addTable(table: Table): Document { this.body.push(table); + return this; } public createTable(rows: number, cols: number): Table { diff --git a/src/file/file.ts b/src/file/file.ts index 5f01d71dad..ec953b5a63 100644 --- a/src/file/file.ts +++ b/src/file/file.ts @@ -56,12 +56,13 @@ export class File { this.coreProperties = new CoreProperties(options); this.numbering = new Numbering(); this.docRelationships = new Relationships(); - this.media = new Media(); this.fileRelationships = new Relationships(); this.appProperties = new AppProperties(); this.footNotes = new FootNotes(); this.contentTypes = new ContentTypes(); + this.media = fileProperties.template && fileProperties.template.media ? fileProperties.template.media : new Media(); + if (fileProperties.template) { this.currentRelationshipId = fileProperties.template.currentRelationshipId + 1; } @@ -108,8 +109,9 @@ export class File { this.settings = new Settings(); } - public addTableOfContents(toc: TableOfContents): void { + public addTableOfContents(toc: TableOfContents): File { this.document.addTableOfContents(toc); + return this; } public addParagraph(paragraph: Paragraph): File { @@ -121,8 +123,9 @@ export class File { return this.document.createParagraph(text); } - public addTable(table: Table): void { - return this.document.addTable(table); + public addTable(table: Table): File { + this.document.addTable(table); + return this; } public createTable(rows: number, cols: number): Table { diff --git a/src/import-dotx/import-dotx.ts b/src/import-dotx/import-dotx.ts index fdfedc7304..5cdf7b8920 100644 --- a/src/import-dotx/import-dotx.ts +++ b/src/import-dotx/import-dotx.ts @@ -44,6 +44,7 @@ export interface IDocumentTemplate { readonly footers: IDocumentFooter[]; readonly styles: Styles; readonly titlePageIsDefined: boolean; + readonly media: Media; } export class ImportDotx { @@ -73,6 +74,7 @@ export class ImportDotx { currentRelationshipId: this.currentRelationshipId, styles: stylesFactory.newInstance(stylesContent), titlePageIsDefined: this.checkIfTitlePageIsDefined(documentContent), + media: media, }; return templateDocument;