docxmlater 0.30.0 → 1.0.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 (82) hide show
  1. package/README.md +277 -180
  2. package/dist/core/Document.d.ts +26 -0
  3. package/dist/core/Document.d.ts.map +1 -1
  4. package/dist/core/Document.js +86 -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 +52 -7
  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 +1317 -32
  13. package/dist/core/DocumentParser.js.map +1 -1
  14. package/dist/elements/Field.d.ts +38 -1
  15. package/dist/elements/Field.d.ts.map +1 -1
  16. package/dist/elements/Field.js +264 -1
  17. package/dist/elements/Field.js.map +1 -1
  18. package/dist/elements/Image.d.ts +94 -0
  19. package/dist/elements/Image.d.ts.map +1 -1
  20. package/dist/elements/Image.js +311 -25
  21. package/dist/elements/Image.js.map +1 -1
  22. package/dist/elements/Paragraph.d.ts +109 -31
  23. package/dist/elements/Paragraph.d.ts.map +1 -1
  24. package/dist/elements/Paragraph.js +274 -0
  25. package/dist/elements/Paragraph.js.map +1 -1
  26. package/dist/elements/Run.d.ts +68 -0
  27. package/dist/elements/Run.d.ts.map +1 -1
  28. package/dist/elements/Run.js +243 -39
  29. package/dist/elements/Run.js.map +1 -1
  30. package/dist/elements/Section.d.ts +16 -0
  31. package/dist/elements/Section.d.ts.map +1 -1
  32. package/dist/elements/Section.js +61 -1
  33. package/dist/elements/Section.js.map +1 -1
  34. package/dist/elements/Shape.d.ts +86 -0
  35. package/dist/elements/Shape.d.ts.map +1 -0
  36. package/dist/elements/Shape.js +461 -0
  37. package/dist/elements/Shape.js.map +1 -0
  38. package/dist/elements/StructuredDocumentTag.d.ts +61 -0
  39. package/dist/elements/StructuredDocumentTag.d.ts.map +1 -1
  40. package/dist/elements/StructuredDocumentTag.js +235 -0
  41. package/dist/elements/StructuredDocumentTag.js.map +1 -1
  42. package/dist/elements/Table.d.ts +33 -0
  43. package/dist/elements/Table.d.ts.map +1 -1
  44. package/dist/elements/Table.js +82 -8
  45. package/dist/elements/Table.js.map +1 -1
  46. package/dist/elements/TableCell.d.ts +17 -1
  47. package/dist/elements/TableCell.d.ts.map +1 -1
  48. package/dist/elements/TableCell.js +61 -8
  49. package/dist/elements/TableCell.js.map +1 -1
  50. package/dist/elements/TableRow.d.ts +29 -0
  51. package/dist/elements/TableRow.d.ts.map +1 -1
  52. package/dist/elements/TableRow.js +106 -0
  53. package/dist/elements/TableRow.js.map +1 -1
  54. package/dist/elements/TextBox.d.ts +77 -0
  55. package/dist/elements/TextBox.d.ts.map +1 -0
  56. package/dist/elements/TextBox.js +440 -0
  57. package/dist/elements/TextBox.js.map +1 -0
  58. package/dist/formatting/Style.d.ts +100 -0
  59. package/dist/formatting/Style.d.ts.map +1 -1
  60. package/dist/formatting/Style.js +396 -1
  61. package/dist/formatting/Style.js.map +1 -1
  62. package/dist/formatting/StylesManager.d.ts +6 -0
  63. package/dist/formatting/StylesManager.d.ts.map +1 -1
  64. package/dist/formatting/StylesManager.js +50 -0
  65. package/dist/formatting/StylesManager.js.map +1 -1
  66. package/dist/index.d.ts +4 -1
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +10 -2
  69. package/dist/index.js.map +1 -1
  70. package/dist/managers/DrawingManager.d.ts +42 -0
  71. package/dist/managers/DrawingManager.d.ts.map +1 -0
  72. package/dist/managers/DrawingManager.js +160 -0
  73. package/dist/managers/DrawingManager.js.map +1 -0
  74. package/dist/xml/XMLBuilder.d.ts +2 -0
  75. package/dist/xml/XMLBuilder.d.ts.map +1 -1
  76. package/dist/xml/XMLBuilder.js +14 -0
  77. package/dist/xml/XMLBuilder.js.map +1 -1
  78. package/dist/xml/XMLParser.d.ts +1 -0
  79. package/dist/xml/XMLParser.d.ts.map +1 -1
  80. package/dist/xml/XMLParser.js +30 -0
  81. package/dist/xml/XMLParser.js.map +1 -1
  82. package/package.json +2 -2
@@ -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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"}
@@ -4,8 +4,51 @@ import { Hyperlink } from './Hyperlink';
4
4
  import { Bookmark } from './Bookmark';
5
5
  import { Revision } from './Revision';
6
6
  import { Comment } from './Comment';
7
+ import { Shape } from './Shape';
8
+ import { TextBox } from './TextBox';
7
9
  import { XMLElement } from '../xml/XMLBuilder';
8
10
  export type ParagraphAlignment = 'left' | 'center' | 'right' | 'justify' | 'both';
11
+ export type BorderStyle = 'single' | 'double' | 'dashed' | 'dotted' | 'thick' | 'none';
12
+ export type ShadingPattern = 'clear' | 'solid' | 'horzStripe' | 'vertStripe' | 'reverseDiagStripe' | 'diagStripe' | 'horzCross' | 'diagCross';
13
+ export type TabAlignment = 'clear' | 'left' | 'center' | 'right' | 'decimal' | 'bar' | 'num';
14
+ export type TabLeader = 'none' | 'dot' | 'hyphen' | 'underscore' | 'heavy' | 'middleDot';
15
+ export type TextDirection = 'lrTb' | 'tbRl' | 'btLr' | 'lrTbV' | 'tbRlV' | 'tbLrV';
16
+ export type TextAlignment = 'top' | 'center' | 'baseline' | 'bottom' | 'auto';
17
+ export type TextboxTightWrap = 'none' | 'allLines' | 'firstAndLastLine' | 'firstLineOnly' | 'lastLineOnly';
18
+ export interface ParagraphPropertiesChange {
19
+ author?: string;
20
+ date?: string;
21
+ id?: string;
22
+ previousProperties?: Partial<ParagraphFormatting>;
23
+ }
24
+ export interface FrameProperties {
25
+ w?: number;
26
+ h?: number;
27
+ hRule?: 'auto' | 'atLeast' | 'exact';
28
+ x?: number;
29
+ y?: number;
30
+ xAlign?: 'left' | 'center' | 'right' | 'inside' | 'outside';
31
+ yAlign?: 'top' | 'center' | 'bottom' | 'inside' | 'outside';
32
+ hAnchor?: 'page' | 'margin' | 'text';
33
+ vAnchor?: 'page' | 'margin' | 'text';
34
+ hSpace?: number;
35
+ vSpace?: number;
36
+ wrap?: 'around' | 'notBeside' | 'none' | 'tight';
37
+ dropCap?: 'none' | 'drop' | 'margin';
38
+ lines?: number;
39
+ anchorLock?: boolean;
40
+ }
41
+ export interface BorderDefinition {
42
+ style?: BorderStyle;
43
+ size?: number;
44
+ color?: string;
45
+ space?: number;
46
+ }
47
+ export interface TabStop {
48
+ position: number;
49
+ val?: TabAlignment;
50
+ leader?: TabLeader;
51
+ }
9
52
  export interface ParagraphFormatting {
10
53
  alignment?: ParagraphAlignment;
11
54
  indentation?: {
@@ -30,8 +73,39 @@ export interface ParagraphFormatting {
30
73
  };
31
74
  contextualSpacing?: boolean;
32
75
  paraId?: string;
76
+ borders?: {
77
+ top?: BorderDefinition;
78
+ bottom?: BorderDefinition;
79
+ left?: BorderDefinition;
80
+ right?: BorderDefinition;
81
+ between?: BorderDefinition;
82
+ bar?: BorderDefinition;
83
+ };
84
+ shading?: {
85
+ fill?: string;
86
+ color?: string;
87
+ val?: ShadingPattern;
88
+ };
89
+ tabs?: TabStop[];
90
+ widowControl?: boolean;
91
+ outlineLevel?: number;
92
+ suppressLineNumbers?: boolean;
93
+ bidi?: boolean;
94
+ textDirection?: TextDirection;
95
+ textAlignment?: TextAlignment;
96
+ mirrorIndents?: boolean;
97
+ adjustRightInd?: boolean;
98
+ framePr?: FrameProperties;
99
+ suppressAutoHyphens?: boolean;
100
+ suppressOverlap?: boolean;
101
+ textboxTightWrap?: TextboxTightWrap;
102
+ divId?: number;
103
+ cnfStyle?: string;
104
+ sectPr?: any;
105
+ pPrChange?: ParagraphPropertiesChange;
106
+ paragraphMarkRunProperties?: RunFormatting;
33
107
  }
34
- type ParagraphContent = Run | Field | Hyperlink | Revision;
108
+ type ParagraphContent = Run | Field | Hyperlink | Revision | Shape | TextBox;
35
109
  export declare class Paragraph {
36
110
  private content;
37
111
  formatting: ParagraphFormatting;
@@ -48,6 +122,8 @@ export declare class Paragraph {
48
122
  addField(field: Field): this;
49
123
  addHyperlink(hyperlink: Hyperlink): this;
50
124
  addRevision(revision: Revision): this;
125
+ addShape(shape: Shape): this;
126
+ addTextBox(textbox: TextBox): this;
51
127
  addBookmarkStart(bookmark: Bookmark): this;
52
128
  addBookmarkEnd(bookmark: Bookmark): this;
53
129
  addBookmark(bookmark: Bookmark): this;
@@ -58,6 +134,13 @@ export declare class Paragraph {
58
134
  addComment(comment: Comment): this;
59
135
  getCommentsStart(): Comment[];
60
136
  getCommentsEnd(): Comment[];
137
+ addPageNumber(formatting?: RunFormatting): this;
138
+ addTotalPages(formatting?: RunFormatting): this;
139
+ addDate(format?: string, formatting?: RunFormatting): this;
140
+ addTime(format?: string, formatting?: RunFormatting): this;
141
+ addFilename(includePath?: boolean, formatting?: RunFormatting): this;
142
+ addAuthor(formatting?: RunFormatting): this;
143
+ addTitle(formatting?: RunFormatting): this;
61
144
  addText(text: string, formatting?: RunFormatting): this;
62
145
  setText(text: string, formatting?: RunFormatting): this;
63
146
  getRuns(): Run[];
@@ -83,46 +166,41 @@ export declare class Paragraph {
83
166
  numId: number;
84
167
  level: number;
85
168
  } | undefined;
169
+ setWidowControl(enable?: boolean): this;
170
+ setOutlineLevel(level: number): this;
171
+ setSuppressLineNumbers(suppress?: boolean): this;
172
+ setBidi(enable?: boolean): this;
173
+ setTextDirection(direction: TextDirection): this;
174
+ setTextAlignment(alignment: TextAlignment): this;
175
+ setMirrorIndents(enable?: boolean): this;
176
+ setAdjustRightInd(enable?: boolean): this;
177
+ setFrameProperties(props: FrameProperties): this;
178
+ setSuppressAutoHyphens(suppress?: boolean): this;
179
+ setSuppressOverlap(suppress?: boolean): this;
180
+ setTextboxTightWrap(wrap: TextboxTightWrap): this;
181
+ setDivId(id: number): this;
182
+ setConditionalFormatting(bitmask: string): this;
183
+ setSectionProperties(properties: any): this;
184
+ setParagraphPropertiesChange(change: ParagraphPropertiesChange): this;
185
+ setParagraphMarkFormatting(properties: RunFormatting): this;
86
186
  toXML(): XMLElement;
87
187
  getWordCount(): number;
88
188
  getLength(includeSpaces?: boolean): number;
89
189
  clone(): Paragraph;
90
190
  setBorder(borders: {
91
- top?: {
92
- style?: string;
93
- size?: number;
94
- color?: string;
95
- space?: number;
96
- };
97
- bottom?: {
98
- style?: string;
99
- size?: number;
100
- color?: string;
101
- space?: number;
102
- };
103
- left?: {
104
- style?: string;
105
- size?: number;
106
- color?: string;
107
- space?: number;
108
- };
109
- right?: {
110
- style?: string;
111
- size?: number;
112
- color?: string;
113
- space?: number;
114
- };
191
+ top?: BorderDefinition;
192
+ bottom?: BorderDefinition;
193
+ left?: BorderDefinition;
194
+ right?: BorderDefinition;
195
+ between?: BorderDefinition;
196
+ bar?: BorderDefinition;
115
197
  }): this;
116
198
  setShading(shading: {
117
199
  fill?: string;
118
200
  color?: string;
119
- val?: 'clear' | 'solid' | 'horzStripe' | 'vertStripe' | 'reverseDiagStripe' | 'diagStripe' | 'horzCross' | 'diagCross';
201
+ val?: ShadingPattern;
120
202
  }): this;
121
- setTabs(tabs: Array<{
122
- position: number;
123
- val?: 'clear' | 'left' | 'center' | 'right' | 'decimal' | 'bar' | 'num';
124
- leader?: 'none' | 'dot' | 'hyphen' | 'underscore' | 'heavy' | 'middleDot';
125
- }>): this;
203
+ setTabs(tabs: TabStop[]): this;
126
204
  insertRunAt(index: number, run: Run): this;
127
205
  removeRunAt(index: number): boolean;
128
206
  replaceRunAt(index: number, run: Run): boolean;