From 62b6b3325424ce22d12d048d5e146285a063c79a Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sat, 11 Mar 2017 16:56:35 +0000 Subject: [PATCH 01/20] created drawing file and refactored run components in components folder --- ts/docx/run/run-components/drawing/index.ts | 5 +++++ ts/docx/run/{ => run-components}/text.ts | 2 +- ts/docx/run/text-run.ts | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 ts/docx/run/run-components/drawing/index.ts rename ts/docx/run/{ => run-components}/text.ts (76%) diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts new file mode 100644 index 0000000000..f86e12e58b --- /dev/null +++ b/ts/docx/run/run-components/drawing/index.ts @@ -0,0 +1,5 @@ +import { XmlComponent } from "../../../xml-components"; + +export class Drawing extends XmlComponent { + +} \ No newline at end of file diff --git a/ts/docx/run/text.ts b/ts/docx/run/run-components/text.ts similarity index 76% rename from ts/docx/run/text.ts rename to ts/docx/run/run-components/text.ts index 745c605094..48f6495331 100644 --- a/ts/docx/run/text.ts +++ b/ts/docx/run/run-components/text.ts @@ -1,4 +1,4 @@ -import { XmlComponent } from "../xml-components"; +import { XmlComponent } from "../../xml-components"; export class Text extends XmlComponent { diff --git a/ts/docx/run/text-run.ts b/ts/docx/run/text-run.ts index d8068021aa..c285b5fe82 100644 --- a/ts/docx/run/text-run.ts +++ b/ts/docx/run/text-run.ts @@ -1,5 +1,5 @@ import { Run } from "../run"; -import { Text } from "./text"; +import { Text } from "./run-components/text"; export class TextRun extends Run { From c33cdb450cb40d2a1ba1d6c0ebe47d65e1850c98 Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sat, 11 Mar 2017 18:21:31 +0000 Subject: [PATCH 02/20] added initial constructor --- ts/docx/run/run-components/drawing/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index f86e12e58b..86b4bd87c1 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -1,5 +1,8 @@ import { XmlComponent } from "../../../xml-components"; export class Drawing extends XmlComponent { - + + constructor() { + super("w:drawing"); + } } \ No newline at end of file From 4bc6ed0edaadf892edd008b35b0b935f86cfdc2a Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 12 Mar 2017 21:30:46 +0000 Subject: [PATCH 03/20] added more files to drawing --- ts/docx/run/run-components/drawing/index.ts | 4 ++-- ts/docx/run/run-components/drawing/inline.ts | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 ts/docx/run/run-components/drawing/inline.ts diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index 86b4bd87c1..61820442ed 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -1,8 +1,8 @@ import { XmlComponent } from "../../../xml-components"; export class Drawing extends XmlComponent { - + constructor() { super("w:drawing"); } -} \ No newline at end of file +} diff --git a/ts/docx/run/run-components/drawing/inline.ts b/ts/docx/run/run-components/drawing/inline.ts new file mode 100644 index 0000000000..47ce8dabcd --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline.ts @@ -0,0 +1,8 @@ +import { XmlComponent } from "../../../xml-components"; + +export class Inline extends XmlComponent { + + constructor() { + super("w:drawing"); + } +} From 9f61ca7abeefa05e91c9ca30a6b3998fb65c1704 Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 12 Mar 2017 21:42:45 +0000 Subject: [PATCH 04/20] fixed the build :P removed .docx extension if one is already present --- ts/export/packer/local.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/ts/export/packer/local.ts b/ts/export/packer/local.ts index 319f2e16f1..d1a5980662 100644 --- a/ts/export/packer/local.ts +++ b/ts/export/packer/local.ts @@ -13,6 +13,7 @@ export class LocalPacker extends Packer { } public pack(path: string): void { + path = path.replace(/.docx$/, ""); this.stream = fs.createWriteStream(`${path}.docx`); super.pack(this.stream); } From 90e5cc3ad53e6a054cb3e0a0cd369613233471c3 Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 12 Mar 2017 21:43:15 +0000 Subject: [PATCH 05/20] Revert "fixed the build :P removed .docx extension if one is already present" This reverts commit 9f61ca7abeefa05e91c9ca30a6b3998fb65c1704. --- ts/export/packer/local.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/ts/export/packer/local.ts b/ts/export/packer/local.ts index d1a5980662..319f2e16f1 100644 --- a/ts/export/packer/local.ts +++ b/ts/export/packer/local.ts @@ -13,7 +13,6 @@ export class LocalPacker extends Packer { } public pack(path: string): void { - path = path.replace(/.docx$/, ""); this.stream = fs.createWriteStream(`${path}.docx`); super.pack(this.stream); } From 8d72fa55421bc59b0fe8f3005723581be32a7fef Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 12 Mar 2017 23:31:43 +0000 Subject: [PATCH 06/20] added more boilerplate files to drawing --- ts/docx/index.ts | 2 ++ ts/docx/run/picture-run.ts | 10 ++++++++++ ts/docx/run/run-components/drawing/index.ts | 2 +- ts/docx/run/run-components/drawing/inline.ts | 8 -------- .../drawing/inline/graphic/graphic-data/index.ts | 8 ++++++++ .../run/run-components/drawing/inline/graphic/index.ts | 8 ++++++++ ts/docx/run/run-components/drawing/inline/index.ts | 8 ++++++++ 7 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 ts/docx/run/picture-run.ts delete mode 100644 ts/docx/run/run-components/drawing/inline.ts create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/index.ts create mode 100644 ts/docx/run/run-components/drawing/inline/index.ts diff --git a/ts/docx/index.ts b/ts/docx/index.ts index 875821c29a..1e837b8340 100644 --- a/ts/docx/index.ts +++ b/ts/docx/index.ts @@ -2,4 +2,6 @@ export { Document } from "./document"; export { Paragraph } from "./paragraph"; export { Run } from "./run"; export { TextRun } from "./run/text-run"; +export { PictureRun } from "./run/picture-run"; export { Table } from "./table"; +// Perhaps all run related stuff can be exported from run, instead of exporting Run, TextRun, PictureRun seperately. diff --git a/ts/docx/run/picture-run.ts b/ts/docx/run/picture-run.ts new file mode 100644 index 0000000000..fdf2310c4b --- /dev/null +++ b/ts/docx/run/picture-run.ts @@ -0,0 +1,10 @@ +import { Run } from "../run"; +import { Drawing } from "./run-components/drawing"; + +export class PictureRun extends Run { + + constructor(imagePath: string) { + super(); + this.root.push(new Drawing(imagePath)); + } +} diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index 61820442ed..668f45c612 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -2,7 +2,7 @@ import { XmlComponent } from "../../../xml-components"; export class Drawing extends XmlComponent { - constructor() { + constructor(imagePath: string) { super("w:drawing"); } } diff --git a/ts/docx/run/run-components/drawing/inline.ts b/ts/docx/run/run-components/drawing/inline.ts deleted file mode 100644 index 47ce8dabcd..0000000000 --- a/ts/docx/run/run-components/drawing/inline.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { XmlComponent } from "../../../xml-components"; - -export class Inline extends XmlComponent { - - constructor() { - super("w:drawing"); - } -} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts new file mode 100644 index 0000000000..b9e8267e0d --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts @@ -0,0 +1,8 @@ +import { XmlComponent } from "../../../../../../xml-components"; + +export class Graphic extends XmlComponent { + + constructor() { + super("a:graphicData"); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/index.ts new file mode 100644 index 0000000000..d922f44f58 --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/index.ts @@ -0,0 +1,8 @@ +import { XmlComponent } from "../../../../../xml-components"; + +export class Graphic extends XmlComponent { + + constructor() { + super("a:graphic"); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/index.ts b/ts/docx/run/run-components/drawing/inline/index.ts new file mode 100644 index 0000000000..be38ec1836 --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/index.ts @@ -0,0 +1,8 @@ +import { XmlComponent } from "../../../../xml-components"; + +export class Inline extends XmlComponent { + + constructor() { + super("wp:inline"); + } +} From 34ce662f7075250920b9b9b8999d628714a98cfc Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 12 Mar 2017 23:32:02 +0000 Subject: [PATCH 07/20] added basic test for drawing --- .../docx/run/run-components/drawingTests.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 ts/tests/docx/run/run-components/drawingTests.ts diff --git a/ts/tests/docx/run/run-components/drawingTests.ts b/ts/tests/docx/run/run-components/drawingTests.ts new file mode 100644 index 0000000000..dcc06bc361 --- /dev/null +++ b/ts/tests/docx/run/run-components/drawingTests.ts @@ -0,0 +1,18 @@ +import { assert, expect } from "chai"; +import { Drawing } from "../../../../docx/run/run-components/drawing"; +import { Utility } from "../../../utility"; + +describe.only("Drawing", () => { + let currentBreak: Drawing; + + beforeEach(() => { + currentBreak = new Drawing("test.jpg"); + }); + + describe("#constructor()", () => { + it("should create a Drawing with correct root key", () => { + const newJson = Utility.jsonify(currentBreak); + assert.equal(newJson.rootKey, "w:drawing"); + }); + }); +}); From fa44acca1bf880f935875a2e8d4e0b7ed3c00f6c Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Mon, 13 Mar 2017 00:02:56 +0000 Subject: [PATCH 08/20] added the remaining classes required --- ts/docx/run/run-components/drawing/index.ts | 5 +++++ .../inline/graphic/graphic-data/index.ts | 6 ++++-- .../graphic-data/pic/blip/blip-fill.ts | 10 +++++++++ .../graphic/graphic-data/pic/blip/blip.ts | 21 +++++++++++++++++++ .../inline/graphic/graphic-data/pic/index.ts | 10 +++++++++ .../drawing/inline/graphic/index.ts | 4 +++- .../run-components/drawing/inline/index.ts | 4 +++- .../docx/run/run-components/drawingTests.ts | 3 ++- 8 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/index.ts diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index 668f45c612..3e9d1a883d 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -1,8 +1,13 @@ import { XmlComponent } from "../../../xml-components"; +import { Inline } from "./inline"; export class Drawing extends XmlComponent { constructor(imagePath: string) { super("w:drawing"); + + // store in the document, then get Id + + this.root.push(new Inline(5)); } } diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts index b9e8267e0d..c717a1098c 100644 --- a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/index.ts @@ -1,8 +1,10 @@ import { XmlComponent } from "../../../../../../xml-components"; +import { Pic } from "./pic"; -export class Graphic extends XmlComponent { +export class GraphicData extends XmlComponent { - constructor() { + constructor(referenceId: number) { super("a:graphicData"); + this.root.push(new Pic(referenceId)); } } diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts new file mode 100644 index 0000000000..2b4370a58b --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts @@ -0,0 +1,10 @@ +import { XmlComponent } from "../../../../../../../../xml-components"; +import { Blip } from "./blip"; + +export class BlipFill extends XmlComponent { + + constructor(referenceId: number) { + super("pic:blipFill"); + this.root.push(new Blip(referenceId)); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts new file mode 100644 index 0000000000..12ae6b01e2 --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts @@ -0,0 +1,21 @@ +import { XmlAttributeComponent, XmlComponent } from "../../../../../../../../xml-components"; + +export interface IBlipProperties { + embed?: string; +} + +class BlipAttributes extends XmlAttributeComponent { + protected xmlKeys = { + embed: "r:embed", + }; +} + +export class Blip extends XmlComponent { + + constructor(referenceId: number) { + super("a:blip"); + this.root.push(new BlipAttributes({ + embed: `rId${referenceId}`, + })); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/index.ts new file mode 100644 index 0000000000..54628facf8 --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/index.ts @@ -0,0 +1,10 @@ +import { XmlComponent } from "../../../../../../../xml-components"; +import { BlipFill } from "./blip/blip-fill"; + +export class Pic extends XmlComponent { + + constructor(referenceId: number) { + super("pic:pic"); + this.root.push(new BlipFill(referenceId)); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/index.ts index d922f44f58..f512e8ad5a 100644 --- a/ts/docx/run/run-components/drawing/inline/graphic/index.ts +++ b/ts/docx/run/run-components/drawing/inline/graphic/index.ts @@ -1,8 +1,10 @@ import { XmlComponent } from "../../../../../xml-components"; +import { GraphicData } from "./graphic-data"; export class Graphic extends XmlComponent { - constructor() { + constructor(referenceId: number) { super("a:graphic"); + this.root.push(new GraphicData(referenceId)); } } diff --git a/ts/docx/run/run-components/drawing/inline/index.ts b/ts/docx/run/run-components/drawing/inline/index.ts index be38ec1836..8f752edfcc 100644 --- a/ts/docx/run/run-components/drawing/inline/index.ts +++ b/ts/docx/run/run-components/drawing/inline/index.ts @@ -1,8 +1,10 @@ import { XmlComponent } from "../../../../xml-components"; +import { Graphic } from "./graphic"; export class Inline extends XmlComponent { - constructor() { + constructor(referenceId: number) { super("wp:inline"); + this.root.push(new Graphic(referenceId)); } } diff --git a/ts/tests/docx/run/run-components/drawingTests.ts b/ts/tests/docx/run/run-components/drawingTests.ts index dcc06bc361..20215a0931 100644 --- a/ts/tests/docx/run/run-components/drawingTests.ts +++ b/ts/tests/docx/run/run-components/drawingTests.ts @@ -1,4 +1,4 @@ -import { assert, expect } from "chai"; +import { assert } from "chai"; import { Drawing } from "../../../../docx/run/run-components/drawing"; import { Utility } from "../../../utility"; @@ -13,6 +13,7 @@ describe.only("Drawing", () => { it("should create a Drawing with correct root key", () => { const newJson = Utility.jsonify(currentBreak); assert.equal(newJson.rootKey, "w:drawing"); + console.log(JSON.stringify(newJson, null, 2)); }); }); }); From eeb2187db4f3c22eb7b6553edba1adf67631366a Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Mon, 13 Mar 2017 00:33:59 +0000 Subject: [PATCH 09/20] added source rectangle and stretch in the blip fill --- .../graphic/graphic-data/pic/blip/blip-fill.ts | 4 ++++ .../graphic-data/pic/blip/source-rectangle.ts | 8 ++++++++ .../graphic/graphic-data/pic/blip/stretch.ts | 16 ++++++++++++++++ 3 files changed, 28 insertions(+) create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts create mode 100644 ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts index 2b4370a58b..ac2ca1d580 100644 --- a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip-fill.ts @@ -1,10 +1,14 @@ import { XmlComponent } from "../../../../../../../../xml-components"; import { Blip } from "./blip"; +import { SourceRectangle } from "./source-rectangle"; +import { Stretch } from "./stretch"; export class BlipFill extends XmlComponent { constructor(referenceId: number) { super("pic:blipFill"); this.root.push(new Blip(referenceId)); + this.root.push(new SourceRectangle()); + this.root.push(new Stretch()); } } diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts new file mode 100644 index 0000000000..32df3eaaac --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/source-rectangle.ts @@ -0,0 +1,8 @@ +import { XmlComponent } from "../../../../../../../../xml-components"; + +export class SourceRectangle extends XmlComponent { + + constructor() { + super("a:srcRect"); + } +} diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts new file mode 100644 index 0000000000..c42fa04ff3 --- /dev/null +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/stretch.ts @@ -0,0 +1,16 @@ +import { XmlComponent } from "../../../../../../../../xml-components"; + +class FillRectangle extends XmlComponent { + + constructor() { + super("a:fillRect"); + } +} + +export class Stretch extends XmlComponent { + + constructor() { + super("a:stretch"); + this.root.push(new FillRectangle()); + } +} From 66eace4a33737c8eb956e8128cc747a3fdb72bda Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Mon, 13 Mar 2017 00:40:39 +0000 Subject: [PATCH 10/20] added a attribute to graphic --- .../inline/graphic/graphic-data/pic/blip/blip.ts | 4 ++-- .../drawing/inline/graphic/index.ts | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts index 12ae6b01e2..2926c52893 100644 --- a/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts +++ b/ts/docx/run/run-components/drawing/inline/graphic/graphic-data/pic/blip/blip.ts @@ -1,7 +1,7 @@ import { XmlAttributeComponent, XmlComponent } from "../../../../../../../../xml-components"; -export interface IBlipProperties { - embed?: string; +interface IBlipProperties { + embed: string; } class BlipAttributes extends XmlAttributeComponent { diff --git a/ts/docx/run/run-components/drawing/inline/graphic/index.ts b/ts/docx/run/run-components/drawing/inline/graphic/index.ts index f512e8ad5a..75dd24f75d 100644 --- a/ts/docx/run/run-components/drawing/inline/graphic/index.ts +++ b/ts/docx/run/run-components/drawing/inline/graphic/index.ts @@ -1,10 +1,24 @@ -import { XmlComponent } from "../../../../../xml-components"; +import { XmlAttributeComponent, XmlComponent } from "../../../../../xml-components"; import { GraphicData } from "./graphic-data"; + +interface IGraphicProperties { + a: string; +} + +class GraphicAttributes extends XmlAttributeComponent { + protected xmlKeys = { + a: "xmlns:a", + }; +} + export class Graphic extends XmlComponent { constructor(referenceId: number) { super("a:graphic"); + this.root.push(new GraphicAttributes({ + a: "http://schemas.openxmlformats.org/drawingml/2006/main", + })); this.root.push(new GraphicData(referenceId)); } } From 3730e2b60e6092ace7ca360052a06ab3d3d8f83b Mon Sep 17 00:00:00 2001 From: Dolan Date: Mon, 13 Mar 2017 23:30:26 +0000 Subject: [PATCH 11/20] clean up of packer --- ts/export/packer/packer.ts | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/ts/export/packer/packer.ts b/ts/export/packer/packer.ts index 3da1291911..740b072cd1 100644 --- a/ts/export/packer/packer.ts +++ b/ts/export/packer/packer.ts @@ -10,15 +10,20 @@ import { Formatter } from "../formatter"; export abstract class Packer { protected archive: any; - protected document: Document; private formatter: Formatter; private style: Styles; - private properties: Properties; - private numbering: Numbering; - constructor(document: Document, style?: Styles, properties?: Properties, numbering?: Numbering) { + constructor( + protected document: Document, + style?: Styles, + private properties: Properties = new Properties({ + creator: "Un-named", + revision: "1", + lastModifiedBy: "Un-named", + }), + private numbering: Numbering = new Numbering(), + ) { this.formatter = new Formatter(); - this.document = document; this.archive = archiver.create("zip", {}); if (style) { @@ -28,22 +33,6 @@ export abstract class Packer { this.style = stylesFactory.newInstance(); } - if (properties) { - this.properties = properties; - } else { - this.properties = new Properties({ - creator: "Un-named", - revision: "1", - lastModifiedBy: "Un-named", - }); - } - - if (numbering) { - this.numbering = numbering; - } else { - this.numbering = new Numbering(); - } - this.archive.on("error", (err) => { throw err; }); From 30b21217a9dc20fec7a70ceb0193b4fbe8a6bb7f Mon Sep 17 00:00:00 2001 From: Dolan Date: Mon, 13 Mar 2017 23:41:14 +0000 Subject: [PATCH 12/20] added create picture run method --- ts/docx/paragraph/index.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ts/docx/paragraph/index.ts b/ts/docx/paragraph/index.ts index 4ae172eb1b..a63861c3a7 100644 --- a/ts/docx/paragraph/index.ts +++ b/ts/docx/paragraph/index.ts @@ -1,5 +1,6 @@ import { Num } from "../../numbering/num"; import { Run } from "../run"; +import { PictureRun } from "../run/picture-run"; import { TextRun } from "../run/text-run"; import { XmlComponent } from "../xml-components"; @@ -36,6 +37,12 @@ export class Paragraph extends XmlComponent { return run; } + public createPictureRun(imagePath: string): PictureRun { + const run = new PictureRun(imagePath); + this.addRun(run); + return run; + } + public heading1(): Paragraph { this.properties.push(new Style("Heading1")); return this; From 5db2503e7b119afb3f186f44e6465e4947aa01ab Mon Sep 17 00:00:00 2001 From: Dolan Date: Sat, 25 Mar 2017 21:50:33 +0000 Subject: [PATCH 13/20] added media class and packer to handle it --- ts/export/packer/packer.ts | 16 ++++++++++++++- ts/media/index.ts | 40 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 ts/media/index.ts diff --git a/ts/export/packer/packer.ts b/ts/export/packer/packer.ts index e45d1b45bd..8dc3bf30a8 100644 --- a/ts/export/packer/packer.ts +++ b/ts/export/packer/packer.ts @@ -2,6 +2,7 @@ import * as archiver from "archiver"; import * as path from "path"; import * as xml from "xml"; import { Document } from "../../docx"; +import { Media } from "../../media"; import { Numbering } from "../../numbering"; import { Properties } from "../../properties"; import { Styles } from "../../styles"; @@ -24,6 +25,7 @@ export abstract class Packer { lastModifiedBy: "Un-named", }), private numbering: Numbering = new Numbering(), + private media: Media = new Media(), ) { this.formatter = new Formatter(); this.archive = archiver.create("zip", {}); @@ -54,8 +56,14 @@ export abstract class Packer { const xmlDocument = xml(this.formatter.format(this.document)); const xmlStyles = xml(this.formatter.format(this.style)); - const xmlProperties = xml(this.formatter.format(this.properties), { declaration: { standalone: "yes", encoding: "UTF-8" } }); + const xmlProperties = xml(this.formatter.format(this.properties), { + declaration: { + standalone: "yes", + encoding: "UTF-8", + }, + }); const xmlNumbering = xml(this.formatter.format(this.numbering)); + this.archive.append(xmlDocument, { name: "word/document.xml", }); @@ -72,6 +80,12 @@ export abstract class Packer { name: "word/numbering.xml", }); + for (const data of this.media.array) { + this.archive.append(data.stream, { + name: `media/${data.fileName}`, + }); + } + this.archive.finalize(); } } diff --git a/ts/media/index.ts b/ts/media/index.ts new file mode 100644 index 0000000000..f07ad69de5 --- /dev/null +++ b/ts/media/index.ts @@ -0,0 +1,40 @@ +import * as fs from "fs"; +import * as path from "path"; + +interface IData { + referenceId: number; + stream: fs.ReadStream; + path: string; + fileName: string; +} + +export class Media { + private map: Map; + + constructor() { + this.map = new Map(); + } + + public getMedia(key: string): IData | undefined { + return this.map.get(key); + } + + public addMedia(key: string, filePath: string): void { + this.map.set(key, { + referenceId: this.map.values.length, + stream: fs.createReadStream(filePath), + path: filePath, + fileName: path.basename(filePath), + }); + } + + public get array(): IData[] { + const array = new Array(); + + this.map.forEach((data) => { + array.push(data); + }); + + return array; + } +} From 5b2a311ad4c850f926c38de8d91d796012887fab Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sun, 26 Mar 2017 20:57:43 +0100 Subject: [PATCH 14/20] media now adds object into docx /media folder --- demo/demo.js | 11 ++++++++--- demo/penguins.jpg | Bin 0 -> 165620 bytes ts/export/packer/express.ts | 5 +++-- ts/export/packer/local.ts | 5 +++-- ts/index.ts | 1 + 5 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 demo/penguins.jpg diff --git a/demo/demo.js b/demo/demo.js index 58e7fdfd8d..4545fce7fe 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -5,11 +5,16 @@ var doc = new docx.Document(); var paragraph = new docx.Paragraph("Hello World"); var institutionText = new docx.TextRun("University College London").bold(); var dateText = new docx.TextRun("5th Dec 2015").tab().bold(); -paragraph.addText(institutionText); -paragraph.addText(dateText); +paragraph.addRun(institutionText); +paragraph.addRun(dateText); doc.addParagraph(paragraph); -var exporter = new docx.LocalPacker(doc); + +var media = new docx.Media(); +media.addMedia("happy-penguins", "./demo/penguins.jpg"); +// var pictureRun = new docx.PictureRun(""); + +var exporter = new docx.LocalPacker(doc, undefined, undefined, undefined, media); exporter.pack('My Document'); console.log('Document created succesfully at project root!'); \ No newline at end of file diff --git a/demo/penguins.jpg b/demo/penguins.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e4834ee095e3d1368959f7af95bc09027106ac8a GIT binary patch literal 165620 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

YNnrrUyFX3RC;4OZ3ITm~O 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 txBBB3rzhsY#3loC=1UJ|54CH1; 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%0De_G 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 literal 0 HcmV?d00001 diff --git a/ts/export/packer/express.ts b/ts/export/packer/express.ts index 737c220779..16722ff484 100644 --- a/ts/export/packer/express.ts +++ b/ts/export/packer/express.ts @@ -1,5 +1,6 @@ import * as express from "express"; import { Document } from "../../docx/document"; +import { Media } from "../../media"; import { Numbering } from "../../numbering"; import { Properties } from "../../properties"; import { Styles } from "../../styles"; @@ -8,8 +9,8 @@ import { Packer } from "./packer"; export class ExpressPacker extends Packer { private res: express.Response; - constructor(document: Document, res: express.Response, styles?: Styles, properties?: Properties, numbering?: Numbering) { - super(document, styles, properties, numbering); + constructor(document: Document, res: express.Response, styles?: Styles, properties?: Properties, numbering?: Numbering, media?: Media) { + super(document, styles, properties, numbering, media); this.res = res; this.res.on("close", () => { diff --git a/ts/export/packer/local.ts b/ts/export/packer/local.ts index d1a5980662..bbb10e2a5a 100644 --- a/ts/export/packer/local.ts +++ b/ts/export/packer/local.ts @@ -1,5 +1,6 @@ import * as fs from "fs"; import { Document } from "../../docx/document"; +import { Media } from "../../media"; import { Numbering } from "../../numbering"; import { Properties } from "../../properties"; import { Styles } from "../../styles"; @@ -8,8 +9,8 @@ import { Packer } from "./packer"; export class LocalPacker extends Packer { private stream: fs.WriteStream; - constructor(document: Document, styles?: Styles, properties?: Properties, numbering?: Numbering) { - super(document, styles, properties, numbering); + constructor(document: Document, styles?: Styles, properties?: Properties, numbering?: Numbering, media?: Media) { + super(document, styles, properties, numbering, media); } public pack(path: string): void { diff --git a/ts/index.ts b/ts/index.ts index 0227b712a7..7c5a2fda81 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -2,4 +2,5 @@ export * from "./docx"; export * from "./export"; export { Numbering } from "./numbering"; export { Styles } from "./styles"; +export { Media } from "./media"; export * from "./export"; From 68fe3805757f37905b12783d1603788728a23c5d Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Mon, 27 Mar 2017 01:28:31 +0100 Subject: [PATCH 15/20] renamed template constant --- ts/export/packer/packer.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ts/export/packer/packer.ts b/ts/export/packer/packer.ts index 8dc3bf30a8..6c6d9c422f 100644 --- a/ts/export/packer/packer.ts +++ b/ts/export/packer/packer.ts @@ -9,7 +9,7 @@ import { Styles } from "../../styles"; import { DefaultStylesFactory } from "../../styles/factory"; import { Formatter } from "../formatter"; -const templatePath = path.resolve(__dirname, "../../../template"); +const TEMPLATE_PATH = path.resolve(__dirname, "../../../template"); export abstract class Packer { protected archive: any; @@ -46,12 +46,12 @@ export abstract class Packer { this.archive.pipe(output); this.archive.glob("**", { expand: true, - cwd: templatePath, + cwd: TEMPLATE_PATH, }); this.archive.glob("**/.rels", { expand: true, - cwd: templatePath, + cwd: TEMPLATE_PATH, }); const xmlDocument = xml(this.formatter.format(this.document)); From ad462dfe10fbaceaebf59a4769620f64cc8dbeee Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Mon, 27 Mar 2017 01:28:52 +0100 Subject: [PATCH 16/20] added relationships --- ts/relationships/attributes.ts | 11 +++++++++++ ts/relationships/index.ts | 14 ++++++++++++++ ts/relationships/relationship.ts | 0 3 files changed, 25 insertions(+) create mode 100644 ts/relationships/attributes.ts create mode 100644 ts/relationships/index.ts create mode 100644 ts/relationships/relationship.ts diff --git a/ts/relationships/attributes.ts b/ts/relationships/attributes.ts new file mode 100644 index 0000000000..4aae08248d --- /dev/null +++ b/ts/relationships/attributes.ts @@ -0,0 +1,11 @@ +import { XmlAttributeComponent } from "../docx/xml-components"; + +interface IRelationshipsAttributesProperties { + xmlns: string; +} + +export class RelationshipsAttributes extends XmlAttributeComponent { + protected xmlKeys = { + xmlns: "xmlns", + }; +} diff --git a/ts/relationships/index.ts b/ts/relationships/index.ts new file mode 100644 index 0000000000..e2c27f36e8 --- /dev/null +++ b/ts/relationships/index.ts @@ -0,0 +1,14 @@ +import { XmlComponent } from "../docx/xml-components"; +import { RelationshipsAttributes } from "./attributes"; + +export class Relationships extends XmlComponent { + + constructor() { + super("Relationships"); + this.root.push(new RelationshipsAttributes({ + xmlns: "http://schemas.openxmlformats.org/package/2006/relationships", + })); + + // this.root.push(new Created()); + } +} diff --git a/ts/relationships/relationship.ts b/ts/relationships/relationship.ts new file mode 100644 index 0000000000..e69de29bb2 From 15009884e31b1e7c86897b249340175f3248da23 Mon Sep 17 00:00:00 2001 From: Dolan Date: Wed, 29 Mar 2017 22:47:34 +0100 Subject: [PATCH 17/20] made image take in IData instead of image path --- ts/docx/run/run-components/drawing/index.ts | 7 +++---- ts/media/data.ts | 8 ++++++++ ts/media/index.ts | 8 +------- 3 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 ts/media/data.ts diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index 3e9d1a883d..3b1d187f0d 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -1,13 +1,12 @@ +import { IData } from "../../../../media/data"; import { XmlComponent } from "../../../xml-components"; import { Inline } from "./inline"; export class Drawing extends XmlComponent { - constructor(imagePath: string) { + constructor(imageData: IData) { super("w:drawing"); - // store in the document, then get Id - - this.root.push(new Inline(5)); + this.root.push(new Inline(imageData.referenceId)); } } diff --git a/ts/media/data.ts b/ts/media/data.ts new file mode 100644 index 0000000000..ada1231659 --- /dev/null +++ b/ts/media/data.ts @@ -0,0 +1,8 @@ +import * as fs from "fs"; + +export interface IData { + referenceId: number; + stream: fs.ReadStream; + path: string; + fileName: string; +} diff --git a/ts/media/index.ts b/ts/media/index.ts index f07ad69de5..7f6ef61b7e 100644 --- a/ts/media/index.ts +++ b/ts/media/index.ts @@ -1,12 +1,6 @@ import * as fs from "fs"; import * as path from "path"; - -interface IData { - referenceId: number; - stream: fs.ReadStream; - path: string; - fileName: string; -} +import { IData } from "./data"; export class Media { private map: Map; From af48af285495e0b21ebd3b9870980194f68f912d Mon Sep 17 00:00:00 2001 From: Dolan Date: Wed, 29 Mar 2017 22:57:52 +0100 Subject: [PATCH 18/20] added error checking and updated demo --- demo/demo.js | 2 +- ts/docx/run/run-components/drawing/index.ts | 4 ++++ ts/media/index.ts | 10 ++++++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/demo/demo.js b/demo/demo.js index 4545fce7fe..fd1958a724 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -12,7 +12,7 @@ doc.addParagraph(paragraph); var media = new docx.Media(); media.addMedia("happy-penguins", "./demo/penguins.jpg"); -// var pictureRun = new docx.PictureRun(""); +var pictureRun = new docx.PictureRun(media.getMedia("happy-penguins")); var exporter = new docx.LocalPacker(doc, undefined, undefined, undefined, media); exporter.pack('My Document'); diff --git a/ts/docx/run/run-components/drawing/index.ts b/ts/docx/run/run-components/drawing/index.ts index 3b1d187f0d..fab434e058 100644 --- a/ts/docx/run/run-components/drawing/index.ts +++ b/ts/docx/run/run-components/drawing/index.ts @@ -7,6 +7,10 @@ export class Drawing extends XmlComponent { constructor(imageData: IData) { super("w:drawing"); + if (imageData === undefined) { + throw new Error("imageData cannot be undefined"); + } + this.root.push(new Inline(imageData.referenceId)); } } diff --git a/ts/media/index.ts b/ts/media/index.ts index 7f6ef61b7e..66cddca4ad 100644 --- a/ts/media/index.ts +++ b/ts/media/index.ts @@ -9,8 +9,14 @@ export class Media { this.map = new Map(); } - public getMedia(key: string): IData | undefined { - return this.map.get(key); + public getMedia(key: string): IData { + const data = this.map.get(key); + + if (data === undefined) { + throw new Error(`Cannot find image with the key ${key}`); + } + + return data; } public addMedia(key: string, filePath: string): void { From fd350d53db1fc97a947b47e444adb2413acb816a Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sat, 1 Apr 2017 12:18:23 +0100 Subject: [PATCH 19/20] fixed some typescript compile issues --- ts/docx/paragraph/index.ts | 5 +++-- ts/docx/run/picture-run.ts | 10 ++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ts/docx/paragraph/index.ts b/ts/docx/paragraph/index.ts index a63861c3a7..5c42381311 100644 --- a/ts/docx/paragraph/index.ts +++ b/ts/docx/paragraph/index.ts @@ -1,3 +1,4 @@ +import { IData } from "../../media/data"; import { Num } from "../../numbering/num"; import { Run } from "../run"; import { PictureRun } from "../run/picture-run"; @@ -37,8 +38,8 @@ export class Paragraph extends XmlComponent { return run; } - public createPictureRun(imagePath: string): PictureRun { - const run = new PictureRun(imagePath); + public createPictureRun(imageData: IData): PictureRun { + const run = new PictureRun(imageData); this.addRun(run); return run; } diff --git a/ts/docx/run/picture-run.ts b/ts/docx/run/picture-run.ts index fdf2310c4b..038d1fc7bf 100644 --- a/ts/docx/run/picture-run.ts +++ b/ts/docx/run/picture-run.ts @@ -1,10 +1,16 @@ +import { IData } from "../../media/data"; import { Run } from "../run"; import { Drawing } from "./run-components/drawing"; export class PictureRun extends Run { - constructor(imagePath: string) { + constructor(imageData: IData) { super(); - this.root.push(new Drawing(imagePath)); + + if (imageData === undefined) { + throw new Error("imageData cannot be undefined"); + } + + this.root.push(new Drawing(imageData)); } } From a2694f1d7de298f317b7d5fb2808e75706f5aaea Mon Sep 17 00:00:00 2001 From: Dolan Miu Date: Sat, 1 Apr 2017 12:21:59 +0100 Subject: [PATCH 20/20] edited demo code --- demo/demo.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/demo/demo.js b/demo/demo.js index fd1958a724..2a36bb1a83 100644 --- a/demo/demo.js +++ b/demo/demo.js @@ -10,11 +10,13 @@ paragraph.addRun(dateText); doc.addParagraph(paragraph); -var media = new docx.Media(); -media.addMedia("happy-penguins", "./demo/penguins.jpg"); -var pictureRun = new docx.PictureRun(media.getMedia("happy-penguins")); +// Feature coming soon +// var media = new docx.Media(); +// media.addMedia("happy-penguins", "./demo/penguins.jpg"); +// var pictureRun = new docx.PictureRun(media.getMedia("happy-penguins")); -var exporter = new docx.LocalPacker(doc, undefined, undefined, undefined, media); +// var exporter = new docx.LocalPacker(doc); +var exporter = new docx.LocalPacker(doc); exporter.pack('My Document'); console.log('Document created succesfully at project root!'); \ No newline at end of file