docxmlater 0.31.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/README.md +277 -193
  2. package/dist/core/Document.d.ts +29 -0
  3. package/dist/core/Document.d.ts.map +1 -1
  4. package/dist/core/Document.js +123 -2
  5. package/dist/core/Document.js.map +1 -1
  6. package/dist/core/DocumentGenerator.d.ts +3 -2
  7. package/dist/core/DocumentGenerator.d.ts.map +1 -1
  8. package/dist/core/DocumentGenerator.js +264 -199
  9. package/dist/core/DocumentGenerator.js.map +1 -1
  10. package/dist/core/DocumentParser.d.ts +18 -0
  11. package/dist/core/DocumentParser.d.ts.map +1 -1
  12. package/dist/core/DocumentParser.js +1311 -26
  13. package/dist/core/DocumentParser.js.map +1 -1
  14. package/dist/elements/Field.d.ts +7 -1
  15. package/dist/elements/Field.d.ts.map +1 -1
  16. package/dist/elements/Field.js +74 -0
  17. package/dist/elements/Field.js.map +1 -1
  18. package/dist/elements/Hyperlink.d.ts +0 -1
  19. package/dist/elements/Hyperlink.d.ts.map +1 -1
  20. package/dist/elements/Hyperlink.js +0 -32
  21. package/dist/elements/Hyperlink.js.map +1 -1
  22. package/dist/elements/Image.d.ts +94 -0
  23. package/dist/elements/Image.d.ts.map +1 -1
  24. package/dist/elements/Image.js +311 -25
  25. package/dist/elements/Image.js.map +1 -1
  26. package/dist/elements/Paragraph.d.ts +109 -31
  27. package/dist/elements/Paragraph.d.ts.map +1 -1
  28. package/dist/elements/Paragraph.js +274 -0
  29. package/dist/elements/Paragraph.js.map +1 -1
  30. package/dist/elements/Run.d.ts +68 -0
  31. package/dist/elements/Run.d.ts.map +1 -1
  32. package/dist/elements/Run.js +243 -39
  33. package/dist/elements/Run.js.map +1 -1
  34. package/dist/elements/Section.d.ts +16 -0
  35. package/dist/elements/Section.d.ts.map +1 -1
  36. package/dist/elements/Section.js +61 -1
  37. package/dist/elements/Section.js.map +1 -1
  38. package/dist/elements/Shape.d.ts +86 -0
  39. package/dist/elements/Shape.d.ts.map +1 -0
  40. package/dist/elements/Shape.js +461 -0
  41. package/dist/elements/Shape.js.map +1 -0
  42. package/dist/elements/StructuredDocumentTag.d.ts +61 -0
  43. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  44. package/dist/elements/StructuredDocumentTag.js +235 -0
  45. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  46. package/dist/elements/Table.d.ts +33 -0
  47. package/dist/elements/Table.d.ts.map +1 -1
  48. package/dist/elements/Table.js +82 -8
  49. package/dist/elements/Table.js.map +1 -1
  50. package/dist/elements/TableCell.d.ts +17 -1
  51. package/dist/elements/TableCell.d.ts.map +1 -1
  52. package/dist/elements/TableCell.js +61 -8
  53. package/dist/elements/TableCell.js.map +1 -1
  54. package/dist/elements/TableRow.d.ts +29 -0
  55. package/dist/elements/TableRow.d.ts.map +1 -1
  56. package/dist/elements/TableRow.js +106 -0
  57. package/dist/elements/TableRow.js.map +1 -1
  58. package/dist/elements/TextBox.d.ts +77 -0
  59. package/dist/elements/TextBox.d.ts.map +1 -0
  60. package/dist/elements/TextBox.js +440 -0
  61. package/dist/elements/TextBox.js.map +1 -0
  62. package/dist/formatting/Style.d.ts +100 -0
  63. package/dist/formatting/Style.d.ts.map +1 -1
  64. package/dist/formatting/Style.js +396 -1
  65. package/dist/formatting/Style.js.map +1 -1
  66. package/dist/formatting/StylesManager.d.ts +6 -0
  67. package/dist/formatting/StylesManager.d.ts.map +1 -1
  68. package/dist/formatting/StylesManager.js +50 -0
  69. package/dist/formatting/StylesManager.js.map +1 -1
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +8 -2
  73. package/dist/index.js.map +1 -1
  74. package/dist/managers/DrawingManager.d.ts +42 -0
  75. package/dist/managers/DrawingManager.d.ts.map +1 -0
  76. package/dist/managers/DrawingManager.js +160 -0
  77. package/dist/managers/DrawingManager.js.map +1 -0
  78. package/dist/xml/XMLBuilder.d.ts +2 -0
  79. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  80. package/dist/xml/XMLBuilder.js +14 -0
  81. package/dist/xml/XMLBuilder.js.map +1 -1
  82. package/dist/xml/XMLParser.d.ts.map +1 -1
  83. package/dist/xml/XMLParser.js +7 -1
  84. package/dist/xml/XMLParser.js.map +1 -1
  85. package/package.json +2 -2
@@ -1,5 +1,58 @@
1
1
  import { XMLElement } from '../xml/XMLBuilder';
2
2
  export type ImageFormat = 'png' | 'jpeg' | 'jpg' | 'gif' | 'bmp' | 'tiff';
3
+ export interface ImageExtent {
4
+ width: number;
5
+ height: number;
6
+ }
7
+ export interface EffectExtent {
8
+ left: number;
9
+ top: number;
10
+ right: number;
11
+ bottom: number;
12
+ }
13
+ export type WrapType = 'square' | 'tight' | 'through' | 'topAndBottom' | 'none';
14
+ export type WrapSide = 'bothSides' | 'left' | 'right' | 'largest';
15
+ export interface TextWrapSettings {
16
+ type: WrapType;
17
+ side?: WrapSide;
18
+ distanceTop?: number;
19
+ distanceBottom?: number;
20
+ distanceLeft?: number;
21
+ distanceRight?: number;
22
+ }
23
+ export type PositionAnchor = 'page' | 'margin' | 'column' | 'character' | 'paragraph';
24
+ export type HorizontalAlignment = 'left' | 'center' | 'right' | 'inside' | 'outside';
25
+ export type VerticalAlignment = 'top' | 'center' | 'bottom' | 'inside' | 'outside';
26
+ export interface ImagePosition {
27
+ horizontal: {
28
+ anchor: PositionAnchor;
29
+ offset?: number;
30
+ alignment?: HorizontalAlignment;
31
+ };
32
+ vertical: {
33
+ anchor: PositionAnchor;
34
+ offset?: number;
35
+ alignment?: VerticalAlignment;
36
+ };
37
+ }
38
+ export interface ImageAnchor {
39
+ behindDoc: boolean;
40
+ locked: boolean;
41
+ layoutInCell: boolean;
42
+ allowOverlap: boolean;
43
+ relativeHeight: number;
44
+ }
45
+ export interface ImageCrop {
46
+ left: number;
47
+ top: number;
48
+ right: number;
49
+ bottom: number;
50
+ }
51
+ export interface ImageEffects {
52
+ brightness?: number;
53
+ contrast?: number;
54
+ grayscale?: boolean;
55
+ }
3
56
  export interface ImageProperties {
4
57
  source: string | Buffer;
5
58
  width?: number;
@@ -8,6 +61,12 @@ export interface ImageProperties {
8
61
  description?: string;
9
62
  name?: string;
10
63
  relationshipId?: string;
64
+ effectExtent?: EffectExtent;
65
+ wrap?: TextWrapSettings;
66
+ position?: ImagePosition;
67
+ anchor?: ImageAnchor;
68
+ crop?: ImageCrop;
69
+ effects?: ImageEffects;
11
70
  }
12
71
  export declare class Image {
13
72
  private source;
@@ -19,6 +78,12 @@ export declare class Image {
19
78
  private imageData?;
20
79
  private extension;
21
80
  private docPrId;
81
+ private effectExtent?;
82
+ private wrap?;
83
+ private position?;
84
+ private anchor?;
85
+ private crop?;
86
+ private effects?;
22
87
  private constructor();
23
88
  private loadImageDataForDimensions;
24
89
  ensureDataLoaded(): Promise<void>;
@@ -45,10 +110,39 @@ export declare class Image {
45
110
  getAltText(): string;
46
111
  rotate(degrees: number): this;
47
112
  getRotation(): number;
113
+ setEffectExtent(left: number, top: number, right: number, bottom: number): this;
114
+ getEffectExtent(): EffectExtent | undefined;
115
+ setWrap(type: WrapType, side?: WrapSide, distances?: {
116
+ top?: number;
117
+ bottom?: number;
118
+ left?: number;
119
+ right?: number;
120
+ }): this;
121
+ getWrap(): TextWrapSettings | undefined;
122
+ setPosition(horizontal: {
123
+ anchor: PositionAnchor;
124
+ offset?: number;
125
+ alignment?: HorizontalAlignment;
126
+ }, vertical: {
127
+ anchor: PositionAnchor;
128
+ offset?: number;
129
+ alignment?: VerticalAlignment;
130
+ }): this;
131
+ getPosition(): ImagePosition | undefined;
132
+ setAnchor(options: ImageAnchor): this;
133
+ getAnchor(): ImageAnchor | undefined;
134
+ setCrop(left: number, top: number, right: number, bottom: number): this;
135
+ getCrop(): ImageCrop | undefined;
136
+ setEffects(options: ImageEffects): this;
137
+ getEffects(): ImageEffects | undefined;
138
+ isFloating(): boolean;
48
139
  toXML(): XMLElement;
49
140
  private createInline;
50
141
  private createGraphic;
51
142
  private createPicture;
143
+ private createBlipFillChildren;
144
+ private createAnchor;
145
+ private createWrapElement;
52
146
  static fromFile(filePath: string, width?: number, height?: number): Promise<Image>;
53
147
  static fromBuffer(buffer: Buffer, extension: string, width?: number, height?: number): Promise<Image>;
54
148
  static create(properties: ImageProperties): Promise<Image>;
@@ -1 +1 @@
1
- {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/elements/Image.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAK1E,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAa;IAO5B,OAAO;YAuBO,0BAA0B;IAwClC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBvC,WAAW,IAAI,IAAI;IAUnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IA8E5B,OAAO,CAAC,oBAAoB;IAmItB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB1C,YAAY,IAAI,MAAM;IAatB,YAAY,IAAI,MAAM;IAOtB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,MAAM;IASnB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAclE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAcpE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU5C,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQ/C,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAQvC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAW5B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASjC,UAAU,IAAI,MAAM;IAWpB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqB7B,WAAW,IAAI,MAAM;IAQrB,KAAK,IAAI,UAAU;IAgBnB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;WAmGR,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;WA6B3E,UAAU,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;WAsBJ,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;CAgBjE"}
1
+ {"version":3,"file":"Image.d.ts","sourceRoot":"","sources":["../../src/elements/Image.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM3D,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAK1E,MAAM,WAAW,WAAW;IAE1B,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,YAAY;IAE3B,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;AAKhF,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAKlE,MAAM,WAAW,gBAAgB;IAE/B,IAAI,EAAE,QAAQ,CAAC;IAEf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAKtF,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAKrF,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAKnF,MAAM,WAAW,aAAa;IAE5B,UAAU,EAAE;QAEV,MAAM,EAAE,cAAc,CAAC;QAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,SAAS,CAAC,EAAE,mBAAmB,CAAC;KACjC,CAAC;IAEF,QAAQ,EAAE;QAER,MAAM,EAAE,cAAc,CAAC;QAEvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB,SAAS,CAAC,EAAE,iBAAiB,CAAC;KAC/B,CAAC;CACH;AAKD,MAAM,WAAW,WAAW;IAE1B,SAAS,EAAE,OAAO,CAAC;IAEnB,MAAM,EAAE,OAAO,CAAC;IAEhB,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,OAAO,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAKD,MAAM,WAAW,SAAS;IAExB,IAAI,EAAE,MAAM,CAAC;IAEb,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,MAAM,WAAW,YAAY;IAE3B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAKD,MAAM,WAAW,eAAe;IAE9B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAExB,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,IAAI,CAAC,EAAE,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAKD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAa;IAG5B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,IAAI,CAAC,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAc;IAC7B,OAAO,CAAC,IAAI,CAAC,CAAY;IACzB,OAAO,CAAC,OAAO,CAAC,CAAe;IAO/B,OAAO;YA+BO,0BAA0B;IAwClC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBvC,WAAW,IAAI,IAAI;IAUnB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,gBAAgB;IAoDxB,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,oBAAoB;IA8E5B,OAAO,CAAC,oBAAoB;IAmItB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAkB1C,YAAY,IAAI,MAAM;IAatB,YAAY,IAAI,MAAM;IAOtB,QAAQ,IAAI,MAAM;IAOlB,SAAS,IAAI,MAAM;IASnB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAclE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,IAAI;IAcpE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU5C,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI;IAQ/C,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAQvC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAW5B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IASjC,UAAU,IAAI,MAAM;IAWpB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAqB7B,WAAW,IAAI,MAAM;IAarB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS/E,eAAe,IAAI,YAAY,GAAG,SAAS;IAY3C,OAAO,CACL,IAAI,EAAE,QAAQ,EACd,IAAI,CAAC,EAAE,QAAQ,EACf,SAAS,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3E,IAAI;IAgBP,OAAO,IAAI,gBAAgB,GAAG,SAAS;IAUvC,WAAW,CACT,UAAU,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;KAAE,EACxF,QAAQ,EAAE;QAAE,MAAM,EAAE,cAAc,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,iBAAiB,CAAA;KAAE,GACnF,IAAI;IASP,WAAW,IAAI,aAAa,GAAG,SAAS;IASxC,SAAS,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IASrC,SAAS,IAAI,WAAW,GAAG,SAAS;IAYpC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAgBvE,OAAO,IAAI,SAAS,GAAG,SAAS;IAShC,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAiBvC,UAAU,IAAI,YAAY,GAAG,SAAS;IAQtC,UAAU,IAAI,OAAO;IAQrB,KAAK,IAAI,UAAU;IAiBnB,OAAO,CAAC,YAAY;IAsEpB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,aAAa;IA+ErB,OAAO,CAAC,sBAAsB;IA6E9B,OAAO,CAAC,YAAY;IAwJpB,OAAO,CAAC,iBAAiB;WA8DZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;WA6B3E,UAAU,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC;WAsBJ,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;CAgBjE"}
@@ -14,6 +14,12 @@ class Image {
14
14
  imageData;
15
15
  extension;
16
16
  docPrId = 1;
17
+ effectExtent;
18
+ wrap;
19
+ position;
20
+ anchor;
21
+ crop;
22
+ effects;
17
23
  constructor(properties) {
18
24
  this.source = properties.source;
19
25
  this.description = properties.description || 'Image';
@@ -22,6 +28,12 @@ class Image {
22
28
  this.extension = this.detectExtension();
23
29
  this.width = properties.width || (0, units_1.inchesToEmus)(6);
24
30
  this.height = properties.height || (0, units_1.inchesToEmus)(4);
31
+ this.effectExtent = properties.effectExtent;
32
+ this.wrap = properties.wrap;
33
+ this.position = properties.position;
34
+ this.anchor = properties.anchor;
35
+ this.crop = properties.crop;
36
+ this.effects = properties.effects;
25
37
  }
26
38
  async loadImageDataForDimensions() {
27
39
  let tempData;
@@ -350,13 +362,75 @@ class Image {
350
362
  getRotation() {
351
363
  return this.rotation || 0;
352
364
  }
365
+ setEffectExtent(left, top, right, bottom) {
366
+ this.effectExtent = { left, top, right, bottom };
367
+ return this;
368
+ }
369
+ getEffectExtent() {
370
+ return this.effectExtent;
371
+ }
372
+ setWrap(type, side, distances) {
373
+ this.wrap = {
374
+ type,
375
+ side,
376
+ distanceTop: distances?.top,
377
+ distanceBottom: distances?.bottom,
378
+ distanceLeft: distances?.left,
379
+ distanceRight: distances?.right,
380
+ };
381
+ return this;
382
+ }
383
+ getWrap() {
384
+ return this.wrap;
385
+ }
386
+ setPosition(horizontal, vertical) {
387
+ this.position = { horizontal, vertical };
388
+ return this;
389
+ }
390
+ getPosition() {
391
+ return this.position;
392
+ }
393
+ setAnchor(options) {
394
+ this.anchor = options;
395
+ return this;
396
+ }
397
+ getAnchor() {
398
+ return this.anchor;
399
+ }
400
+ setCrop(left, top, right, bottom) {
401
+ const clamp = (val) => Math.max(0, Math.min(100, val));
402
+ this.crop = {
403
+ left: clamp(left),
404
+ top: clamp(top),
405
+ right: clamp(right),
406
+ bottom: clamp(bottom),
407
+ };
408
+ return this;
409
+ }
410
+ getCrop() {
411
+ return this.crop;
412
+ }
413
+ setEffects(options) {
414
+ const clamp = (val) => val !== undefined ? Math.max(-100, Math.min(100, val)) : undefined;
415
+ this.effects = {
416
+ brightness: clamp(options.brightness),
417
+ contrast: clamp(options.contrast),
418
+ grayscale: options.grayscale,
419
+ };
420
+ return this;
421
+ }
422
+ getEffects() {
423
+ return this.effects;
424
+ }
425
+ isFloating() {
426
+ return this.anchor !== undefined || this.position !== undefined;
427
+ }
353
428
  toXML() {
354
429
  if (!this.relationshipId) {
355
430
  throw new Error('Image must have a relationship ID before generating XML');
356
431
  }
357
- const drawing = XMLBuilder_1.XMLBuilder.w('drawing', undefined, [
358
- this.createInline(),
359
- ]);
432
+ const imageElement = this.isFloating() ? this.createAnchor() : this.createInline();
433
+ const drawing = XMLBuilder_1.XMLBuilder.w('drawing', undefined, [imageElement]);
360
434
  return drawing;
361
435
  }
362
436
  createInline() {
@@ -369,13 +443,14 @@ class Image {
369
443
  },
370
444
  selfClosing: true,
371
445
  });
446
+ const effectExt = this.effectExtent || { left: 0, top: 0, right: 0, bottom: 0 };
372
447
  children.push({
373
448
  name: 'wp:effectExtent',
374
449
  attributes: {
375
- l: '0',
376
- t: '0',
377
- r: '0',
378
- b: '0',
450
+ l: effectExt.left.toString(),
451
+ t: effectExt.top.toString(),
452
+ r: effectExt.right.toString(),
453
+ b: effectExt.bottom.toString(),
379
454
  },
380
455
  selfClosing: true,
381
456
  });
@@ -457,24 +532,7 @@ class Image {
457
532
  },
458
533
  {
459
534
  name: 'pic:blipFill',
460
- children: [
461
- {
462
- name: 'a:blip',
463
- attributes: {
464
- 'r:embed': this.relationshipId,
465
- },
466
- selfClosing: true,
467
- },
468
- {
469
- name: 'a:stretch',
470
- children: [
471
- {
472
- name: 'a:fillRect',
473
- selfClosing: true,
474
- },
475
- ],
476
- },
477
- ],
535
+ children: this.createBlipFillChildren(),
478
536
  },
479
537
  {
480
538
  name: 'pic:spPr',
@@ -518,6 +576,234 @@ class Image {
518
576
  ],
519
577
  };
520
578
  }
579
+ createBlipFillChildren() {
580
+ const children = [];
581
+ const blipChildren = [];
582
+ if (this.crop) {
583
+ blipChildren.push({
584
+ name: 'a:srcRect',
585
+ attributes: {
586
+ l: Math.round(this.crop.left * 1000).toString(),
587
+ t: Math.round(this.crop.top * 1000).toString(),
588
+ r: Math.round(this.crop.right * 1000).toString(),
589
+ b: Math.round(this.crop.bottom * 1000).toString(),
590
+ },
591
+ selfClosing: true,
592
+ });
593
+ }
594
+ if (this.effects) {
595
+ const lumAttrs = {};
596
+ if (this.effects.brightness !== undefined) {
597
+ lumAttrs.bright = Math.round(this.effects.brightness * 1000).toString();
598
+ }
599
+ if (this.effects.contrast !== undefined) {
600
+ lumAttrs.contrast = Math.round(this.effects.contrast * 1000).toString();
601
+ }
602
+ if (Object.keys(lumAttrs).length > 0) {
603
+ blipChildren.push({
604
+ name: 'a:lum',
605
+ attributes: lumAttrs,
606
+ selfClosing: true,
607
+ });
608
+ }
609
+ if (this.effects.grayscale) {
610
+ blipChildren.push({
611
+ name: 'a:grayscl',
612
+ selfClosing: true,
613
+ });
614
+ }
615
+ }
616
+ children.push({
617
+ name: 'a:blip',
618
+ attributes: {
619
+ 'r:embed': this.relationshipId,
620
+ },
621
+ ...(blipChildren.length > 0 ? { children: blipChildren } : { selfClosing: true }),
622
+ });
623
+ children.push({
624
+ name: 'a:stretch',
625
+ children: [
626
+ {
627
+ name: 'a:fillRect',
628
+ selfClosing: true,
629
+ },
630
+ ],
631
+ });
632
+ return children;
633
+ }
634
+ createAnchor() {
635
+ const children = [];
636
+ const anchorConfig = this.anchor || {
637
+ behindDoc: false,
638
+ locked: false,
639
+ layoutInCell: true,
640
+ allowOverlap: false,
641
+ relativeHeight: 251658240,
642
+ };
643
+ if (this.position) {
644
+ const posH = this.position.horizontal;
645
+ const posHChildren = [];
646
+ if (posH.offset !== undefined) {
647
+ posHChildren.push({
648
+ name: 'wp:posOffset',
649
+ children: [posH.offset.toString()],
650
+ });
651
+ }
652
+ else if (posH.alignment) {
653
+ posHChildren.push({
654
+ name: 'wp:align',
655
+ children: [posH.alignment],
656
+ });
657
+ }
658
+ children.push({
659
+ name: 'wp:positionH',
660
+ attributes: {
661
+ relativeFrom: posH.anchor,
662
+ },
663
+ children: posHChildren,
664
+ });
665
+ }
666
+ if (this.position) {
667
+ const posV = this.position.vertical;
668
+ const posVChildren = [];
669
+ if (posV.offset !== undefined) {
670
+ posVChildren.push({
671
+ name: 'wp:posOffset',
672
+ children: [posV.offset.toString()],
673
+ });
674
+ }
675
+ else if (posV.alignment) {
676
+ posVChildren.push({
677
+ name: 'wp:align',
678
+ children: [posV.alignment],
679
+ });
680
+ }
681
+ children.push({
682
+ name: 'wp:positionV',
683
+ attributes: {
684
+ relativeFrom: posV.anchor,
685
+ },
686
+ children: posVChildren,
687
+ });
688
+ }
689
+ children.push({
690
+ name: 'wp:extent',
691
+ attributes: {
692
+ cx: this.width.toString(),
693
+ cy: this.height.toString(),
694
+ },
695
+ selfClosing: true,
696
+ });
697
+ const effectExt = this.effectExtent || { left: 0, top: 0, right: 0, bottom: 0 };
698
+ children.push({
699
+ name: 'wp:effectExtent',
700
+ attributes: {
701
+ l: effectExt.left.toString(),
702
+ t: effectExt.top.toString(),
703
+ r: effectExt.right.toString(),
704
+ b: effectExt.bottom.toString(),
705
+ },
706
+ selfClosing: true,
707
+ });
708
+ if (this.wrap) {
709
+ children.push(this.createWrapElement());
710
+ }
711
+ else {
712
+ children.push({
713
+ name: 'wp:wrapSquare',
714
+ attributes: {
715
+ wrapText: 'bothSides',
716
+ },
717
+ selfClosing: true,
718
+ });
719
+ }
720
+ children.push({
721
+ name: 'wp:docPr',
722
+ attributes: {
723
+ id: this.docPrId.toString(),
724
+ name: this.name,
725
+ descr: this.description,
726
+ },
727
+ selfClosing: true,
728
+ });
729
+ children.push({
730
+ name: 'wp:cNvGraphicFramePr',
731
+ children: [
732
+ {
733
+ name: 'a:graphicFrameLocks',
734
+ attributes: {
735
+ 'xmlns:a': 'http://schemas.openxmlformats.org/drawingml/2006/main',
736
+ noChangeAspect: '1',
737
+ },
738
+ selfClosing: true,
739
+ },
740
+ ],
741
+ });
742
+ children.push(this.createGraphic());
743
+ return {
744
+ name: 'wp:anchor',
745
+ attributes: {
746
+ distT: this.wrap?.distanceTop?.toString() || '0',
747
+ distB: this.wrap?.distanceBottom?.toString() || '0',
748
+ distL: this.wrap?.distanceLeft?.toString() || '0',
749
+ distR: this.wrap?.distanceRight?.toString() || '0',
750
+ simplePos: '0',
751
+ relativeHeight: anchorConfig.relativeHeight.toString(),
752
+ behindDoc: anchorConfig.behindDoc ? '1' : '0',
753
+ locked: anchorConfig.locked ? '1' : '0',
754
+ layoutInCell: anchorConfig.layoutInCell ? '1' : '0',
755
+ allowOverlap: anchorConfig.allowOverlap ? '1' : '0',
756
+ },
757
+ children,
758
+ };
759
+ }
760
+ createWrapElement() {
761
+ if (!this.wrap) {
762
+ return {
763
+ name: 'wp:wrapSquare',
764
+ attributes: {
765
+ wrapText: 'bothSides',
766
+ },
767
+ selfClosing: true,
768
+ };
769
+ }
770
+ const wrapAttributes = {
771
+ wrapText: this.wrap.side || 'bothSides',
772
+ };
773
+ if (this.wrap.distanceTop !== undefined) {
774
+ wrapAttributes.distT = this.wrap.distanceTop.toString();
775
+ }
776
+ if (this.wrap.distanceBottom !== undefined) {
777
+ wrapAttributes.distB = this.wrap.distanceBottom.toString();
778
+ }
779
+ if (this.wrap.distanceLeft !== undefined) {
780
+ wrapAttributes.distL = this.wrap.distanceLeft.toString();
781
+ }
782
+ if (this.wrap.distanceRight !== undefined) {
783
+ wrapAttributes.distR = this.wrap.distanceRight.toString();
784
+ }
785
+ const wrapElementName = (() => {
786
+ switch (this.wrap.type) {
787
+ case 'square':
788
+ return 'wp:wrapSquare';
789
+ case 'tight':
790
+ return 'wp:wrapTight';
791
+ case 'through':
792
+ return 'wp:wrapThrough';
793
+ case 'topAndBottom':
794
+ return 'wp:wrapTopAndBottom';
795
+ case 'none':
796
+ return 'wp:wrapNone';
797
+ default:
798
+ return 'wp:wrapSquare';
799
+ }
800
+ })();
801
+ return {
802
+ name: wrapElementName,
803
+ attributes: wrapAttributes,
804
+ selfClosing: true,
805
+ };
806
+ }
521
807
  static async fromFile(filePath, width, height) {
522
808
  const image = new Image({
523
809
  source: filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/elements/Image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/elements/Image.ts"],"names":[],"mappings":"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"}